1. Yleistä SerIO on mittaus ja ohjaustehtäviin tarkoitettu prosessorikortti. Se voi ohjemistosta riippuen toimia itsenäisenä yksikkönä tai tietokoneen ohjaamana. Jälkimmäisessä tapauksessa mittaus ja ohjauskomennot lähetetään kortille sarjaliitännän kautta. Tämä dokumentti käsittelee tietokoneen ohjaamaa laitetta. 2. Ominaisuudet Prosessori: Kellotaajuus: Muisti: A/D muunnos: D/A muunnos: Digitaali IO: Sarjaliitäntä: Ohjelmointi: Laajennukset: AT89S8252. 22.11840 MHz. 8 kilotavua uudelleenohjelmoitavaa ohjelmamuistia (FLASH). 2 kilotavua sähköisesti ohjelmoitavaa asetusmuistia (EEPROM). 256 tavua prosessorin sisäistä muistia (RAM). 32 kilotavua näytemuistia (RAM). Kanavamäärä 8 kpl. Resoluutio 12 bittiä. Muunnosaika 6 us. Jännitealueet vakiokokoonpanossa 0 5V, 0 10V, ±5V ja ±10V. Jännitealueet voidaan valita ohjelmallisesti (komento). Välitön ja ajastettu muunnos. Jälkimmäisessä tapauksessa muunnokset tallennetaan näytemuistiin (RAM) ja lähetetään tietokoneelle, kun kaikki näytteet on luettu. Näytenopeudet (ajastettu muunnos) ovat käyttäjän ohjelmoitavissa. Kanavamäärä 4 kpl. Resoluutio 12 bittiä. Jännitealueet vakiokokoonpanossa 0 10V. Lisäksi kahden kanavan alueeksi voidaan asettaa ±10V (valittavissa oikosulkupalalla). 16 kappaletta. Vakiokokoonpanossa 8 tuloa ja 8 lähtöä. Tulot/lähdöt ovat räätälöitävissä asiakkaan tarpeiden mukaan. 115200 baudia. Käyttöjännite: 12V ±5%. Virrankulutus: Suojaukset: Kortin koko: Ohjelmointiliitäntä prosessorin ja EEPROM:in ohjelmoitiin. Laajennusliitäntä (I2C väylä). Liitännän kautta laitteeseen voidaan kytkeä lisäkortteja, joilla voi olla digitaalituloja ja lähtöjä, A/D. muuntimia, kellopiiri, näppäimistö jne. n. 70 ma (lähdöissä ei kuormaa). Sulakesuojaus, jännitteen polariteetti. 100 mm x 125 mm. 3. Liitännät
3. Liitännät Kortin osasijoittelu. Digitaalilähdöt J1 Signaali Liitin Signaali Osoite: 40H lähtö 1 (bitti 0) 9 8 GND lähtö 2 (bitti 1) 10 7 GND lähtö 3 (bitti 2) 11 5 GND lähtö 3 (bitti 3) 12 5 GND lähtö 3 (bitti 4) 13 4 GND lähtö 3 (bitti 5) 14 3 GND lähtö 3 (bitti 6) 15 2 GND lähtö 3 (bitti 7) 16 1 GND Digitaalitulot J2 Signaali Liitin Signaali Osoite: 42H tulo 1 (bitti 0) 9 8 GND tulo 2 (bitti 1) 10 7 GND tulo 3 (bitti 2) 11 5 GND tulo 3 (bitti 3) 12 5 GND
Digitaalitulot J2 Signaali Liitin Signaali tulo 3 (bitti 4) 13 4 GND tulo 3 (bitti 5) 14 3 GND tulo 3 (bitti 6) 15 2 GND tulo 3 (bitti 7) 16 1 GND D/A lähdöt J3 Signaali Liitin Signaali NC 6 5 GND Kanava 4 7 4 GND Kanava 3 8 3 GND Kanava 2 9 2 GND Kanava 1 10 1 GND A/D tulot J4 Signaali Liitin Signaali Kanava 7 9 8 GND Kanava 5 10 7 GND Kanava 6 11 6 GND Kanava 8 12 5 GND Kanava 3 13 4 GND Kanava 2 14 3 GND Kanava 1 15 2 GND Kanava 4 16 1 GND Ohjelmointiliitin J5 Signaali Liitin Signaali +5V 1 10 GND SCK 2 9 SDA/I2C MISO 3 8 CLK/I2C MOSI 4 7 +5V RESET 5 6 RESET Huom! Normaalikäytössä oikosulkupala nastoissa 2 9, 3 8 ja 5 6. Jännite J6 1 = 12V, 2 = GND Sarjaliitäntä J7 3 = TXD, 3 = RDX, 5 = GNG Laajennusliitäntä J8 Signaali Liitin Signaali GND 6 5 T0 T1 7 4 MOSI
Laajennusliitäntä J8 Signaali Liitin Signaali OC1B 8 3 SDA/SCK ICP 9 2 CLK/MISO +5V 10 1 T2EX D/A skaalaus J9 Liitin Signaali 3 GND 2 Referenssijännite D/A muuntimelle 1 Referenssijännite 2.50V Oikosulkupala 2 = 3 Kaikki D/A kanavat alue 0 10V (normaali asetus). 1 = 2 Kanavat 1 ja 3 alue ±10V sekä kanavat 2 ja 4 alue 0 10V. Sanomat tietokoneelta laitteelle: AD_SConvert A0H A/D muunnos välitön. AD_TConvert A1H A/D muunnos ajastettu. DA_Convert A2H D/A muunnos. IO_Read A3H Digitaalitulojen luku. IO_Write A4H Digitaalilähtöjen asetus Mem_Read A5H Muistista luku. Mem_Write A6H Muistiin kirjoitus. Setup_Read A7H Asetusten luku. Setup_Write A8H Laitteen asetukset. Setup_Strore A9H Asetusten tallennus EEPROM:iin. Trigger_Setup AAH Liipaisuasetukset. Sanomat laitteelta tietokoneelle: Send_Data C5H Data PC:lle. Send_Ack CAH Kuittaus PC:lle.
4. Komennot AD_SConvert: Välitön A/D_muunnos yhdellä kanavalla. Käsky: Start Pituus Laiteosoite Komento Mode Pariteetti 06H 00H..FFH. Laitteen yksilöllinen osoite. A0H Mode: bitit 0..3 Kanava 1 8. 0001 = kanava 1. 0010 = kanava 2. jne... bitit 4..7 4: Luetaan: 0 = yksi kanava, 1 = kaikki kanavat (bitit 0..3: 0001). 5: x, varattu. 6: x, varattu 7: x, varattu Data[7] AD_TConvert: Ajastettu A/D muunnos. Kanavien lukumäärä, liipaisun asetus (on/ei) ja liipaisureuna ilmoitetaan käskyssä. Näytenopeus ja näytemuistin koko sekä A/Dmuuntimen asetukset (alueet) asetetaan Setup_Write käskyllä. Käskyn suorituksen aikana laite ei suorita muita käskyjä. Käsky: Start Pituus Laiteosoite Komento Mode Pariteetti 06H A1H Mode: bitit 0..3 Kanavien lukumäärä 1 8. 0001 = kanava 1. 0010 = kanavat 1 ja 2. jne... bitit 4..7 4: 0 = ei liipaisua, 1 = liipaisu. 5: 0 = laskeva reuna, 1 = nouseva reuna (liipaisun polariteetti) 6: x, varattu 7: x, varattu Data[n]
DA_Convert: D/A muunnos. Käsky: Start Pituus Laiteosoite Komento Jännite(H) Jännite(L) Pariteetti Jännite(H): Jännite(L) 07H A2H 00H..0FH. Jännitteen (0 4095) ylempi tavu. 00H..FFH. Jännitteen (0 4095) alempi tavu. IO_Read: Digitaalitulojen/ lähtöjen luku. Käsky: Start Pituus Laiteosoite Komento IO osoite Pariteetti 06H A3H IO osoite: Prosessorikortilla 40H tai 42H (tulot/lähdöt 1 ja 2). Data[6] IO_Write: Digitaalilähtöjen asetus (kirjoitus). Start Pituus Laiteosoite Komento IO osoite Data Pariteetti 07H A4H IO osoite: Prosessorikortilla 40H tai 42H (lähdöt 1 ja 2). Data: 00H..FFH. Bitit 0..7 ohjaavat kunkin kanavan lähtöjä 1 8.
Mem_Read: Muistin (RAM tai EEPROM) luku. Muistien koot: RAM 32 kilotavua ja EEPROM 2 kilotavua. EEPROM muistista voi lukea osoitteesta 0100H lähtien. Alimmat 256 tavua on varattu järjestelmän käyttöön. Start Pituus Laiteosoite Komento MemH MemL Pariteetti MemH: MemL: 07H A5H Muistiosoitteen ylempi tavu. RAM: MemH tavun eniten merkitsevä bitti = 0; EEPROM: MemH tavun eniten merkitsevä bitti = 1; Muistiosoitteen alempi tavu. Data[6] Mem_Write: Muistiin kirjoitus. EEPROM muistiin voi kirjoittaa osoitteesta 0100H lähtien. Alimmat 256 tavua on varattu järjestelmän muuttujille. Seuraavat 32 tavua on tarkoitettu muuntimen korjauskertoimille (offsetjännitteet ja skaalauskertoimet). Start Pituus Laiteosoite Komento MemH MemL Tieto Pariteetti MemH: MemL: Tieto: 07H A6H Muistiosoitteen ylempi tavu. RAM: MemH tavun eniten merkitsevä bitti = 0; EEPROM: MemH tavun eniten merkitsevä bitti = 1; Muistiosoitteen alempi tavu 00H..FFH. Setup_Read: Asetusten luku tietokoneelta. Komento palauttaa seuraavat asetukset: näytetajuus (2 tavua), näytemuisti (1 tavu), A/D kanavien asetukset (8 tavua) ja liipaisun asetukset (3 tavua). Start Pituus Laiteosoite Komento Pariteetti 06H A7H
Tieto[21] Setup_Write: Laitteen asetukset. Start Pituus Laiteosoite Komento Asetus Tieto 1 Tieto 2 Pariteetti Asetus: Tieto 1: Tieto 2: 08H A8H Suoritettavan asetuksen koodi. Katso alla. Katso alla. Katso alla. Asetus Tieto 1 Tieto 2 Selitys: D0H MSByte LSByte Näytteenottotaajuuden asetus. Taajuus lasketaan kaavasta: D1H MSByte xxxx Näytemuistin koko 01xxH..7FxxH, 256 tavun portain. D2H Kanava Asetus A/D muuntimen alueiden asetus Kanava 00H..07H (kanavat 1 8). Asetus: 00H = 0 5V 10H = 0 10V 08H = ±5V 18H = ±10V D3H 0 0 Ei käytössä. D4H 0 0 Ei käytössä. Setup_Store: Laitteen asetusten tallennus pysyväismuistiin (EEPROM). Komento tallentaa Setup_Write komennossa määritellyt asetukset. Start Pituus Laiteosoite Komento Pariteetti 05H A9H
Trigger_Setup: Liipaisun asetukset. Start Pituus Laiteosoite Komento Kanava TasoH TasoL Pariteetti 08H AAH Kanava: Liipaisukanava 00H..07H vastaten A/D kanavia 1 8. TasoH: Liipaisutason (0..4095) eniten merkitsevä tavu. TasoL: Liipaisutason (0..4095) vähiten merkitsevä tavu. Huom! Bipolaarisilla jännitealueilla liipaisutason tulee olla 2:n komplementti. Send_Ack: Laitteen kuittaus tietokoneelle. Ilmoittaa onnistuneen tiedonsiirron ja virhetilanteet. Kuittauksia tulee normaalisti vain yksi (ACK tai NACK), kun laite on vastaanottanut komennon. Jos komentoa ei jostain syystä voida suorittaa, saadaan toinen kuittaus (CAN). Start Pituus Laiteosoite Komento Koodi Pariteetti Koodi: Virhekoodit: 06H 15H 18H 06H CAH Virhekoodi. Kuittaus (ACK). Ei virheitä. Ei kuitata (NACK). Pariteettivirhe tiedonsiirrossa. Keskeytys (CAN). Komentoa ei voitu suorittaa. Send_Data: Tiedonsiirto laitteelta tietokoneelle. Huom! Ajastetun muunnoksen (AD_TControl) tapauksessa Send_Data lähetetään vasta, kun kaikki näytteet on luettu muistiin. Muulloin tieto lähetetään välittömästi. Yhden tavun tieto: Start Pituus Laiteosoite Komento Tieto 1 Pariteetti 06H
Tieto 1: C5H 00H..FFH. Tässä muodossa komentoa käytetään palauttamaan arvo (tieto) komennoissa: IO_Read ja Mem_Read. Usean tavun tieto: Start Pituus Laiteosoite Komento Tieto 1 Tieto 2... +... Tieto n 1 Tieto n Pariteetti AD SConvert: Tieto 1: Tieto 2: 07H A/D muunnoksen (0..4095) vähiten merkitsevä tavu. A/D muunnoksen (0..4095) eniten merkitsevä tavu. Bipolaarisilla alueilla muunnos on kahden komplementti ja neljä ylintä bittiä ovat aina yhtäsuuria kuin muunnoksen eniten merkitsevä bitti (bitti 11). Unipolaarisilla alueilla ylimmät bitit ovat nollia. Näytemuistin koko = n*256. AD_TConvert (yksi kanava): 05H + n Tieto 1: 1. A/D muunnoksen (0..4095) vähiten merkitsevä tavu. Tieto 2: 1. A/D muunnoksen (0..4095) eniten merkitsevä tavu. Tieto 3: 2. A/D muunnoksen (0..4095) vähiten merkitsevä tavu. Tieto 4: 2. A/D muunnoksen (0..4095) vähiten merkitsevä tavu....... Tieto n 1 (n/2):nen A/D muunnoksen (0..4095) vähiten merkitsevä tavu. Tieto n (n/2):nen A/D muunnoksen (0..4095) vähiten merkitsevä tavu. AD_TConvert (monta kanavaa): Tieto 1: Tieto 2: Tieto 3: Tieto 4: jne. 05H + n Kanava 1, 1. A/D muunnoksen (0..4095) vähiten merkitsevä tavu. Kanava 1, 1. A/D muunnoksen (0..4095) eniten merkitsevä tavu. Kanava 2, 1. A/D muunnoksen (0..4095) vähiten merkitsevä tavu. Kanava 2, 1. A/D muunnoksen (0..4095) eniten merkitsevä tavu. Setup_Read: 15H Tieto 1: Näytetaajuuden asetus (eniten merkitsevä tavu). Tieto 2: Näytetaajuuden asetus (vähiten merkitsevä tavu). Tieto 3: Näytemuisti (n). Tieto 4 11: A/D kanavien 1 8 alueasetukset vastaavassa järjestyksessä. Tieto 12: 0
Tieto 13 0 Tieto 14: Liipaisukanava 00H..07H. Tieto 15: Liipaisutaso (eniten merkitsevä tavu). Tieto 16: Liipaisutaso (vähiten merkitsevä tavu)