Top Banner
USB Smart I/O Trademarks & Copyright I 2 C is a Registered Trademark of Philips Semiconductors. AT, IBM, and PC are trademarks of International Business Machines Corporation. Pentium is a registered trademark of Intel Corporation. Windows is a registered trademark of Microsoft Corporation. HyperTerminal is copyright by Microsoft Corporation and Hilgraeve Inc. Borland Delphi is copyright by Borland Software Corporation.
23

USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Feb 22, 2018

Download

Documents

hoangnhu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

USB Smart I/O

Trademarks & CopyrightI2C is a Registered Trademark of Philips Semiconductors.AT, IBM, and PC are trademarks of International Business Machines Corporation.Pentium is a registered trademark of Intel Corporation.Windows is a registered trademark of Microsoft Corporation.HyperTerminal is copyright by Microsoft Corporation and Hilgraeve Inc.Borland Delphi is copyright by Borland Software Corporation.

Page 2: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Daftar Isi

1 Pendahuluan............................................................................................. 31.1 Spesifikasi.................................................................................................... 31.2 Sistem yang Dianjurkan............................................................................ 3

2 Perangkat Keras....................................................................................... 42.1 Tata Letak Komponen............................................................................... 42.2 Konektor dan Pengaturan Jumper.......................................................... 4

3 Antarmuka................................................................................................ 73.1 Antarmuka UART........................................................................................ 73.2 Command Set.............................................................................................. 83.2.1. Ping............................................................................................................... 83.2.2. Reset............................................................................................................. 83.2.3. Set Function................................................................................................. 93.2.4. Get Function................................................................................................ 93.2.5. Get Port....................................................................................................... 103.2.6. Set Bit........................................................................................................... 103.2.7. Get Bit.......................................................................................................... 113.2.8. Set Byte........................................................................................................ 113.2.9. Get Byte...................................................................................................... 123.2.10. Get ADC...................................................................................................... 123.2.11. Set Bit Rate.................................................................................................. 123.2.12. Get Bit Rate................................................................................................ 133.2.13. I2C Start....................................................................................................... 133.2.14. I2C Write..................................................................................................... 133.2.15. I2C Read...................................................................................................... 143.2.16. I2C Stop....................................................................................................... 143.2.17. I2C Send Packet......................................................................................... 143.2.18. I2C Get Packet........................................................................................... 153.2.19. Set Baud Rate............................................................................................. 153.2.20. Get Baud Rate............................................................................................ 163.2.21. Send UART................................................................................................... 163.2.22. Get UART..................................................................................................... 163.2.23. Send DAC.................................................................................................... 173.2.24. Stop Counter............................................................................................... 173.2.25. Start Counter............................................................................................... 183.2.26. Get Counter................................................................................................ 183.2.27. Get Version................................................................................................. 18

4 Prosedur Pengujian.................................................................................. 19

5 Contoh Program........................................................................................ 20

LampiranA. Skematik PC-LINK USB SMART I/O....................................................... 23

2

Page 3: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

1. PENDAHULUANPC-LINK USB SMART I/O merupakan sebuah divais USB yang berfungsi sebagai pengendali beberapa jalur input/output dan antarmuka. Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED, membaca sinyal analog dari sensor, sebagai pembaca kondisi saklar, penghitung pulsa counter, komunikasi dengan modul-modul via antarmuka UART, komunikasi dengan sensor/RTC/EEPROM via antarmuka I2C®, dan lain-lain.

1.1. SPESIFIKASISpesifikasi PC-LINK USB SMART I/O sebagai berikut:• Koneksi ke host (komputer) menggunakan antarmuka USB yang akan

dikenali sebagai COM Port (virtual) dengan parameter 8-n-1 (8 bit data, 1 bit stop, tanpa parity) dan fitur Auto Baud Rate (rentang baud rate: 110 – 256000 bps).

• Tersedia 8 pin analog yang dapat difungsikan sebagai analog input (Analog to Digital Converter), digital output, atau digital input (dengan atau tanpa resistor pull-up internal).

• Tersedia 8 pin digital yang dapat difungsikan sebagai digital output atau digital input (dengan atau tanpa resistor pull-up internal).

• Tersedia 5 pin general purpose yang dapat difungsikan sebagai digital output atau digital input (dengan atau tanpa resistor pull-up internal).

• Tersedia DAC (Digital to Analog Converter) 8-bit dengan kemampuan rail-to-rail (0 – ±5,1 VDC).

• Tersedia antarmuka I2C dengan bit rate antara 30 – 400 kHz (default 50 kHz). Modul berfungsi sebagai master.

• Buffer kirim I2C sebesar 35 byte dan buffer terima sebesar 32 byte.• Tersedia antarmuka UART 8-n-1 dengan pilihan level tegangan: TTL (half-

duplex), RS232 (half-duplex), atau RS485 (half-duplex) dan pilihan baud rate: 9600, 19200, 38400, atau 57600 bps.

• Buffer kirim dan terima UART masing-masing 32 byte.• Membutuhkan sumber catu daya dengan tegangan 6,5 – 12 VDC.• Tersedia voltage regulator dengan output ±5,1 VDC dan arus maksimal

800 mA (sebagian sudah dialokasikan untuk komponen internal).

1.2. SISTEM YANG DIANJURKANSistem yang dianjurkan untuk penggunaan PC-LINK USB SMART I/O adalah:Perangkat keras:• PC™ AT™ Pentium® IBM™ Compatible dengan port USB.• DVD-ROM Drive dan Hard disk.

Perangkat lunak:• Sistem operasi Windows® XP.• Borland Delphi© atau pemrograman lain yang dapat mengakses COM

port.• File yang ada pada CD/DVD program:

smart_io_driver.inf, SmartIO.exe + source (Delphi 7), datasheet, dan MANUAL PC-LINK USB SMART IO.PDF.

3

Page 4: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Polaritas DC Jack

2. PERANGKAT KERAS

2.1. TATA LETAK KOMPONEN

2.2. KONEKTOR DAN PENGATURAN JUMPERDC Jack J2 dan Terminal biru J1 berfungsi sebagai konektor untuk catu daya modul, sedangkan terminal biru J12 berfungsi sebagai tegangan output dari regulator.

J1Pin Nama Fungsi1 GND Titik referensi ground untuk catu daya input2 6,5-12VDC Terhubung ke catu daya input (6,5 – 12 Volt)

J12Pin Nama Fungsi1 GND Titik referensi ground untuk tegangan output2 5VDC Tegangan output dari regulator (±5,1 Volt)

4

Page 5: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

SDA SCL

SDA SCL

Jumper SDA-SCL (J19) berfungsi untuk mengaktifkan resistor pull-up untuk pin SDA dan SCL pada antarmuka I2C.

Jumper SDA-SCLJ19 Fungsi

Pull-up tidak aktif(jumper terlepas)

Pull-up aktif(jumper terpasang)

Penting !Apabila lebih dari satu modul dihubungkan pada I2C-bus maka jumper SDA-SCL salah satu modul saja yang perlu dipasang.

Terminal biru RS232 (J8) RS232 berfungsi sebagai konektor untuk antarmuka UART RS232, terminal biru TTL (J6) berfungsi sebagai konektor untuk antarmuka UART TTL, sedangkan terminal biru RS485 (J15) berfungsi sebagai konektor untuk antarmuka UART RS485.

J8 (RS232)Pin Nama Fungsi1 GND Titik referensi ground2 TX Jalur data UART (RS232) keluar dari modul3 RX Jalur data UART (RS232) masuk ke modul

J6 (TTL)Pin Nama Fungsi1 GND Titik referensi ground2 TX Jalur data UART (TTL) keluar dari modul3 RX Jalur data UART (TTL) masuk ke modul

J15Pin Nama Fungsi1 GND Titik referensi ground2 D- Jalur data (inverting –)3 D+ Jalur data (non-inverting +)

5

Page 6: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

161413

161413

161413

J17 J18321

J17 J18321

J17 J18321

161413

Jumper J17 dan J18 berfungsi untuk menentukan jalur komunikasi UART yang digunakan.

UART RS232 UART RS485 UART TTL

Jumper pada posisi 1 – 2

Jumper pada posisi 2 – 3

Jumper dilepas

Jumper J13, J14, dan J16 masing-masing berfungsi sebagai bias –, terminasi, dan bias +. Dalam satu jaringan RS485 umumnya hanya ada 1 pasang bias – dan bias +, sedangkan terminasi hanya dipasang di modul-modul terluar/ujung.

Contoh Kondisi Contoh Konfigurasi Jumper

Jika modul berada di ujung dan jaringan belum memiliki bias +/–

Jika modul berada di ujung dan sudah ada bias +/– dalam jaringan

Jika modul tidak berada di ujung dan jaringan belum memiliki bias +/–

Jika modul tidak berada di ujung dan sudah ada bias +/– dalam jaringan

Terminal biru J5 berfungsi sebagai konektor untuk antarmuka I2C, sedangkan terminal biru J11 berfungsi sebagai konektor untuk DAC.

J5Pin Nama Fungsi1 GND Titik referensi ground2 SDA I2C-bus data input/output3 SCL I2C-bus clock input

J11Pin Nama Fungsi1 GND Titik referensi ground2 DAC Tegangan output dari DAC

6

Page 7: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Header ANALOG INPUT (J3) terdiri dari pin yang dapat berfungsi sebagai analog input atau digital input/output. Pin A7 juga dapat difungsikan sebagai Counter 1.

Header DIGITAL I/O (J4) terdiri dari pin yang dapat berfungsi sebagai digital input/output. Pin DIO7 juga dapat difungsikan sebagai Counter 0.

Header GPIO & I2C (J10) terdiri dari pin yang dapat berfungsi sebagai digital input/output serta pin SDA dan SCL untuk I2C.

Spesifikasi dan karakteristik masing-masing pin dapat dilihat pada datasheet.

3. ANTARMUKAPC-LINK USB SMART I/O memiliki antarmuka USB yang akan dikenali dan dapat diakses oleh komputer sebagai UART COM port (virtual).

3.1. ANTARMUKA UARTParameter komunikasi UART adalah sebagai berikut:

• 110 – 256000 bps• 8 bit data• 1 bit stop• tanpa bit parity• tanpa flow control

Setiap paket data yang dikirim oleh host dimulai dengan byte awal yang diikuti dengan 1 byte jumlah byte perintah+data, 1 byte kode perintah, n byte parameter (jika ada) dan diakhiri dengan 1 byte LRC.

Start Byte Byte Count Command Parameter LRC

Start Byte selalu bernilai heksadesimal 0x58 ($58) atau 88 desimal.Byte Count adalah jumlah byte Command dan Parameter (tidak termasuk Start Byte, Byte Count, dan LRC).LRC adalah error-checking byte dengan cara menjumlahkan semua byte, mulai dari Start Byte hingga Parameter terakhir. Hasil penjumlahan tersebut hanya diambil LSB saja lalu dilakukan two's complement.

PC-LINK USB SMART I/O memiliki fitur timeout untuk penerimaan paket dari host. Jika tidak ada data yang diterima dalam waktu ±1 detik, maka data berikutnya akan dianggap paket data baru dan modul akan menunggu Start Byte.Jika timeout terjadi di tengah-tengah paket, maka paket tersebut akan diabaikan.

7

AGNDA0A2A4A6

VCCA1A3A5A7

21

109

ANALOG INPUT (J3) DIGITAL I/O (J4)

PGNDDIO0DIO2DIO4DIO6

VCCDIO1DIO3DIO5DIO7

21

109

PGNDGPIO0GPIO2GPIO4

SDA

VCCGPIO1GPIO3

SCL

21

109

GPIO & I2C (J10)

Page 8: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Untuk perintah yang meminta data, format paket data balasan dari modul sama seperti format paket data dari host.Untuk perintah yang tidak membutuhkan balasan data, modul akan membalas dengan ACK (0xAA) atau NACK (0xEE).

Start Byte 0x01 0xAA / 0xEE LRC

Perintah dan parameter yang bisa digunakan dapat dilihat pada bagian 3.2.

Pengaturan default saat penjualan:– ANALOG INPUT berfungsi sebagai analog input (tanpa resistor pull-up

internal).– DIGITAL I/O dan GPIO berfungsi sebagai digital input (tanpa resistor

pull-up internal, Counter tidak aktif).– Baud rate UART 9600 bps.– Bit rate I2C 50 kHz.

3.2. COMMAND SET

3.2.1. PINGBerfungsi untuk memeriksa apakah jalur komunikasi ke modul masih ada.

Byte Count Command Parameter

Perintah Host 1 0xFF -

Respon Modul 10xAA

-0xEE

Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x01 0xFF 0xA8USB Smart I/O : 0x58 0x01 0xAA 0xFD

3.2.2. RESETBerfungsi untuk melakukan soft-reset pada modul.

Byte Count Command Parameter

Perintah Host 1 0x01 -

Respon Modul 10xAA

-0xEE

Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Modul akan melakukan soft-reset dengan efek sebagai berikut:– Fungsi USB modul akan dimatikan sehingga terputus/hilang dari komputer.– Modul akan mengulangi proses dari awal, termasuk inisialisasi koneksi USB

dan mengulangi pembacaan EEPROM untuk mengambil data pengaturan fungsi masing-masing pin I/O.

– Output DAC tidak berubah.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x01 0x01 0xA6USB Smart I/O : 0x58 0x01 0xAA 0xFD

8

Page 9: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

3.2.3. SET FUNCTIONBerfungsi untuk mengatur fungsi I/O pada modul.

Byte Count Command Parameter

Perintah Host 5 0x10 PORT ANALOG DIRECT PULL-UP

Respon Modul 1

0xAA -

0xEE -

Parameter PORT adalah kode port yang akan diakses. Nilai 0 mewakili Analog Input, nilai 1 mewakili Digital I/O, dan nilai 2 mewakili General Purpose I/O.Parameter ANALOG mewakili 8 bit dalam 1 port. Masing-masing bit diberi nilai 0 jika akan digunakan sebagai digital i/o atau diberi nilai 1 jika akan digunakan sebagai analog input. Jika bit diberi nilai 1, maka parameter DIRECT dan PULL-UP untuk bit tersebut akan diabaikan. Parameter ini hanya berlaku untuk PORT 0.Parameter DIRECT mewakili 8 bit (atau 5 bit pada General Purpose I/O) dalam 1 port. Masing-masing bit diberi nilai 0 jika akan digunakan sebagai input atau diberi nilai 1 jika akan digunakan sebagai output.Parameter PULL-UP mewakili 8 bit (atau 5 bit pada General Purpose I/O) dalam 1 port. Masing-masing bit diberi nilai 0 untuk membuat pin yang diwakili pada kondisi tri-state/low, atau diberi nilai 1 untuk mengaktifkan resistor pull-up internal pada pin tersebut.Pengaturan ini akan disimpan pada EEPROM sehingga tidak akan hilang saat modul tidak diberi catu daya.Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x05 0x10 0x01 0x00 0xF0 0x0F 0x93USB Smart I/O : 0x58 0x01 0xAA 0xFDakan menjadikan Digital I/O bit 4-7 sebagai jalur output dengan nilai 0, sedangkan bit 0-3 sebagai jalur input dengan resistor pull-up internal aktif.

3.2.4. GET FUNCTIONBerfungsi untuk membaca pengaturan fungsi I/O pada modul.

Byte Count Command Parameter

Perintah Host 2 0x11 PORT

Respon Modul

4 0x11 ANALOG DIRECT PULL-UP

1 0xEE -

Parameter PORT adalah kode port yang akan diakses. Nilai 0 mewakili Analog Input, nilai 1 mewakili Digital I/O, dan nilai 2 mewakili General Purpose I/O.Parameter ANALOG mewakili 8 bit dalam 1 port. Masing-masing bit bernilai 0 jika digunakan sebagai digital i/o atau bernilai 1 jika digunakan sebagai analog input. Jika bit bernilai 1, maka parameter DIRECT dan PULL-UP untuk bit tersebut harus diabaikan. Parameter ini hanya berlaku untuk PORT 0.

9

Page 10: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Parameter DIRECT mewakili 8 bit (atau 5 bit pada General Purpose I/O) dalam 1 port. Masing-masing bit bernilai 0 jika digunakan sebagai input atau bernilai 1 jika digunakan sebagai output.Parameter PULL-UP mewakili 8 bit (atau 5 bit pada General Purpose I/O) dalam 1 port. Masing-masing bit bernilai 0 jika pin yang diwakili pada kondisi tri-state/low, atau bernilai 1 jika resistor pull-up internal pada pin tersebut dalam kondisi aktif.Jika paket dikenali dan benar, modul akan membalas dengan data hasil pembacaan EEPROM.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x11 0x02 0x93USB Smart I/O : 0x58 0x04 0x11 0x00 0x00 0x1F 0x74berarti komputer meminta fungsi General Purpose I/O dan modul menjawab bahwa semua pin General Purpose I/O berfungsi sebagai input dengan resistor pull-up internal aktif.

3.2.5. GET PORTBerfungsi untuk memerintahkan modul membaca nilai 1 port tertentu.

Byte Count Command Parameter

Perintah Host 2 0x12 PORT

Respon Modul2 0x12 BYTEVALUE

1 0xEE -

Parameter PORT adalah kode port yang akan diakses. Nilai 0 mewakili Analog Input, nilai 1 mewakili Digital I/O, dan nilai 2 mewakili General Purpose I/O.Parameter BYTEVALUE adalah nilai port tersebut (register PORTx).Jika paket dikenali dan benar, modul akan membalas dengan data hasil pembacaan.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x12 0x01 0x93USB Smart I/O : 0x58 0x02 0x12 0x88 0x0Cberarti komputer meminta nilai pada Digital I/O dan modul menjawab bahwa nilai PORT pada port tersebut adalah 0x88.

3.2.6. SET BITBerfungsi untuk memerintahkan modul mengubah nilai 1 pin pada port tertentu.

Byte Count Command Parameter

Perintah Host 4 0x13 PORT BIT BITVALUE

Respon Modul 1

0xAA -

0xEE -

Parameter PORT adalah kode port yang akan diakses. Nilai 0 mewakili Analog Input, nilai 1 mewakili Digital I/O, dan nilai 2 mewakili General Purpose I/O.Parameter BIT adalah nomor bit (0-7) yang akan diakses.

10

Page 11: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Parameter BITVALUE adalah nilai yang akan dikirimkan ke bit tersebut. Diberi nilai 0 untuk mengirimkan logika low atau diberi nilai 1 untuk mengirimkan logika high.Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x04 0x13 0x01 0x05 0x01 0x8AUSB Smart I/O : 0x58 0x01 0xAA 0xFDakan mengirimkan nilai 1/high ke Digital I/O bit 5.

3.2.7. GET BITBerfungsi untuk memerintahkan modul membaca nilai 1 pin pada port tertentu.

Byte Count Command Parameter

Perintah Host 3 0x14 PORT BIT

Respon Modul

2 0x14 BITVALUE

1 0xEE -

Parameter PORT adalah kode port yang akan diakses. Nilai 0 mewakili Analog Input, nilai 1 mewakili Digital I/O, dan nilai 2 mewakili General Purpose I/O.Parameter BIT adalah nomor bit (0-7) yang akan diakses.Parameter BITVALUE adalah nilai bit tersebut (register PINx), bernilai 0 untuk logika low atau bernilai 1 untuk logika high.Jika paket dikenali dan benar, modul akan membalas dengan data hasil pembacaan.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x03 0x14 0x00 0x02 0x8FUSB Smart I/O : 0x58 0x02 0x14 0x00 0x92berarti komputer meminta nilai bit 2 pada Analog Input dan modul menjawab bahwa logika pada bit tersebut adalah low.

3.2.8. SET BYTEBerfungsi untuk memerintahkan modul mengubah nilai 1 port tertentu.

Byte Count Command Parameter

Perintah Host 3 0x15 PORT BYTEVALUE

Respon Modul 1

0xAA -

0xEE -

Parameter PORT adalah kode port yang akan diakses. Nilai 0 mewakili Analog Input, nilai 1 mewakili Digital I/O, dan nilai 2 mewakili General Purpose I/O.Parameter BYTEVALUE adalah nilai 1 byte yang akan dikirimkan ke port tersebut.Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x03 0x15 0x00 0x55 0x3BUSB Smart I/O : 0x58 0x01 0xAA 0xFDakan mengirimkan nilai 0x55 ke Analog Input.

11

Page 12: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

3.2.9. GET BYTEBerfungsi untuk memerintahkan modul membaca nilai 1 port tertentu.

Byte Count Command Parameter

Perintah Host 2 0x16 PORT

Respon Modul2 0x16 BYTEVALUE

1 0xEE -

Parameter PORT adalah kode port yang akan diakses. Nilai 0 mewakili Analog Input, nilai 1 mewakili Digital I/O, dan nilai 2 mewakili General Purpose I/O.Parameter BYTEVALUE adalah nilai port tersebut (register PINx).Jika paket dikenali dan benar, modul akan membalas dengan data hasil pembacaan.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x16 0x01 0x8FUSB Smart I/O : 0x58 0x02 0x16 0x88 0x08berarti komputer meminta nilai pada Digital I/O dan modul menjawab bahwa nilai PIN pada port tersebut adalah 0x88.

3.2.10.GET ADCBerfungsi untuk memerintahkan modul membaca nilai ADC dari kanal tertentu.

Byte Count Command Parameter

Perintah Host 2 0x17 CHANNEL

Respon Modul

3 0x17 MSB LSB

1 0xEE -

Parameter CHANNEL adalah kanal ADC (0-7) yang akan dibaca.Parameter MSB adalah most significant byte dari hasil pembacaan ADC.Parameter LSB adalah least significant byte dari hasil pembacaan ADC.Jika paket dikenali dan benar, modul akan membalas dengan data hasil pembacaan.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x17 0x03 0x8CUSB Smart I/O : 0x58 0x03 0x17 0x03 0xFF 0x8Cberarti komputer meminta nilai pada kanal ADC 3 dan modul menjawab bahwa nilai ADC pada kanal tersebut adalah 1023 (0x03FF).

3.2.11.SET BIT RATEBerfungsi untuk mengatur bit rate I2C.

Byte Count Command Parameter

Perintah Host 3 0x20 BITRATEH BITRATEL

Respon Modul 1

0xAA-

0xEE

Parameter BITRATEH adalah most significant byte dari BITRATE.Parameter BITRATEL adalah least significant byte dari BITRATE.

12

Page 13: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Parameter BITRATE adalah nilai bit rate dalam satuan kHz. Nilai BITRATE yang diijinkan antara 30 – 400.Pengaturan ini akan disimpan pada EEPROM sehingga tidak akan hilang saat modul tidak diberi catu daya.Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x03 0x20 0x00 0x64 0x21USB Smart I/O : 0x58 0x01 0xAA 0xFDakan mengatur bit rate untuk I2C sebesar 100 (0x0064) kHz.

3.2.12.GET BIT RATEBerfungsi untuk membaca bit rate I2C.

Byte Count Command Parameter

Perintah Host 1 0x21 -

Respon Modul

3 0x21 BITRATEH BITRATEL

1 0xEE -

Parameter BITRATEH adalah most significant byte dari BITRATE.Parameter BITRATEL adalah least significant byte dari BITRATE.Parameter BITRATE adalah nilai bit rate dalam satuan kHz.Jika paket dikenali dan benar, modul akan membalas dengan nilai bit rate.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x01 0x21 0x86USB Smart I/O : 0x58 0x03 0x21 0x00 0x32 0x52berarti komputer meminta nilai bit rate dan modul menjawab bahwa bit rate adalah sebesar 50 (0x0032) kHz.

3.2.13. I2C STARTBerfungsi untuk memerintahkan modul mengirimkan kondisi start pada jalur I2C.

Byte Count Command Parameter

Perintah Host 1 0x22 -

Respon Modul 10xAA

-0xEE

Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x01 0x22 0x85USB Smart I/O : 0x58 0x01 0xAA 0xFD

3.2.14. I2C WRITEBerfungsi untuk memerintahkan modul mengirimkan 1 byte melalui jalur I2C.

Byte Count Command Parameter

Perintah Host 2 0x23 1 byte data

Respon Modul 10xAA

-0xEE

13

Page 14: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x23 0xA0 0xE3USB Smart I/O : 0x58 0x01 0xAA 0xFDakan mengirimkan nilai 160 (0xA0) melalui I2C.

3.2.15. I2C READBerfungsi untuk memerintahkan modul membaca 1 byte melalui jalur I2C.

Byte Count Command Parameter

Perintah Host 2 0x240x00 (nack)

0x01 (ack)

Respon Modul2 0x24 1 byte data

1 0xEE -

Parameter dari host diberi nilai 0 untuk membalas penerimaan data I2C dengan not acknowledge dan diberi nilai 1 untuk membalas penerimaan data I2C dengan acknowledge.Jika paket dikenali dan benar, modul akan membalas dengan data hasil pembacaan.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x24 0x00 0x82USB Smart I/O : 0x58 0x02 0x24 0x90 0xF2berarti komputer meminta 1 data yang didapat dari jalur I2C dan akan dibalas dengan not acknowledge. Modul menjawab bahwa hasil pembacaan data melalui I2C bernilai 144 (0x90).

3.2.16. I2C STOPBerfungsi untuk memerintahkan modul mengirimkan kondisi stop pada jalur I2C.

Byte Count Command Parameter

Perintah Host 1 0x25 -

Respon Modul 10xAA

-0xEE

Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x01 0x25 0x82USB Smart I/O : 0x58 0x01 0xAA 0xFD

3.2.17. I2C SEND PACKETBerfungsi untuk memerintahkan modul mengirimkan 1 paket data melalui jalur I2C.

Byte Count Command Parameter

Perintah Host 2 – 36 0x26 1 – 35 byte

Respon Modul 10xAA

-0xEE

14

Page 15: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Parameter sebanyak maksimal 35 byte mencakup alamat divais I2C. Pengiriman akan dilakukan berurutan.Modul akan mengirimkan kondisi start, parameter pada perintah, dan kondisi stop.Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x05 0x26 0xD0 0x01 0x02 0x03 0xA7USB Smart I/O : 0x58 0x01 0xAA 0xFDakan mengirimkan kondisi start, 0xD0 (alamat tulis divais I2C yang akan diakses), 0x01, 0x02, 0x03, dan kondisi stop.

3.2.18. I2C GET PACKETBerfungsi untuk memerintahkan modul membaca 1 paket data melalui jalur I2C.

Byte Count Command Parameter

Perintah Host 3 0x27 ADDR COUNT

Respon Modul

2 – 33 0x27 1 – 32 byte

1 0xEE -

Parameter ADDR adalah alamat divais I2C yang akan diakses.Parameter COUNT adalah jumlah data yang akan dibaca.Perintah ini hanya akan melakukan proses pembacaan. Untuk memilih alamat data yang akan dibaca (misalnya untuk mengakses EEPROM), alamat dapat ditentukan dahulu menggunakan perintah I2CSENDPACKET.Modul akan mengirimkan kondisi start, alamat baca divais I2C (ADDR|0x01), membaca data sebanyak COUNT, dan mengirimkan kondisi stop.Jika paket dikenali dan benar, modul akan membalas dengan data hasil pembacaan (maksimal 32 byte).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x03 0x27 0xD0 0x01 0xADUSB Smart I/O : 0x58 0x02 0x27 0x03 0x7Cberarti komputer memerintahkan modul membaca 1 byte dari divais I2C dengan alamat 0xD1. Modul menjawab bahwa hasil pembacaan melalui I2C adalah 0x03.

3.2.19.SET BAUD RATEBerfungsi untuk mengatur baud rate UART.

Byte Count Command Parameter

Perintah Host 2 0x30 BAUDRATE

Respon Modul 10xAA

-0xEE

Parameter BAUDRATE adalah kode nilai baud rate.Kode 1 = baud rate 9600 bpsKode 2 = baud rate 19200 bpsKode 3 = baud rate 38400 bpsKode 4 = baud rate 57600 bpsPengaturan ini akan disimpan pada EEPROM sehingga tidak akan hilang saat modul tidak diberi catu daya.Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).

15

Page 16: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x30 0x03 0x73USB Smart I/O : 0x58 0x01 0xAA 0xFDakan mengatur baud rate 38400 bps.

3.2.20.GET BAUD RATEBerfungsi untuk membaca baud rate UART.

Byte Count Command Parameter

Perintah Host 1 0x31 -

Respon Modul2 0x31 BAUDRATE

1 0xEE -

Parameter BAUDRATE adalah kode nilai baud rate.Jika paket dikenali dan benar, modul akan membalas dengan kode nilai baud rate.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x01 0x31 0x76USB Smart I/O : 0x58 0x02 0x31 0x03 0x72berarti komputer meminta nilai baud rate dan modul menjawab bahwa baud rate bernilai 38400 bps.

3.2.21.SEND UARTBerfungsi untuk memerintahkan modul mengirimkan serangkaian data melalui jalur UART.

Byte Count Command Parameter

Perintah Host 2 – 33 0x32 1 – 32 byte

Respon Modul 10xAA

-0xEE

Pengiriman parameter hingga sebanyak 32 byte akan dilakukan berurutan.Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x04 0x32 0x01 0x02 0x03 0x6CUSB Smart I/O : 0x58 0x01 0xAA 0xFDakan mengirimkan data 0x01, 0x02, dan 0x03 melalui jalur UART.

3.2.22.GET UARTBerfungsi untuk memerintahkan modul membaca serangkaian data melalui jalur UART.

Byte Count Command Parameter

Perintah Host 2 0x33 COUNT

Respon Modul

2 – 33 0xA3 1 – 32 byte

10xAA

-0xEE

16

Page 17: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Parameter COUNT adalah jumlah data yang akan dibaca.Jika paket dikenali dan benar, modul akan membalas dengan data hasil pembacaan. Data ini adalah data yang sudah diterima (maksimal 32 byte). Jika data yang diterima lebih dari 32 byte, maka data ke-33 dan seterusnya kaan menumpangi data pertama dan seterusnya (roll-over).Jika nilai COUNT lebih besar daripada jumlah data dalam buffer, maka data yang dikirimkan oleh modul hanya data dalam buffer.Jika nilai COUNT lebih kecil daripada jumlah data dalam buffer, maka data yang dikirimkan oleh modul hanya sejumlah COUNT.Setelah pembacaan, seluruh isi buffer akan dihapus.Jika tidak ada data yang diterima, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x33 0x03 0x70USB Smart I/O : 0x58 0x04 0x33 0x01 0x02 0x03 0x6Bberarti komputer meminta 3 data dan modul menjawab bahwa hasil pembacaan adalah 0x01, 0x02, dan 0x03.

3.2.23.SEND DACBerfungsi untuk memerintahkan modul mengirimkan nilai ke DAC untuk diubah menjadi tegangan analog.

Byte Count Command Parameter

Perintah Host 2 0x40 VALUE

Respon Modul 10xAA

-0xEE

Parameter VALUE adalah nilai (0-255) yang akan dikonversikan menjadi tegangan analog (0-±5,1).Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x40 0x80 0xE6USB Smart I/O : 0x58 0x01 0xAA 0xFDakan mengirimkan nilai 128 (0x80) ke DAC yang akan dikonversikan menjadi tegangan sekitar 2,58 V.

3.2.24.STOP COUNTERBerfungsi untuk memerintahkan modul menghentikan counter tertentu.

Byte Count Command Parameter

Perintah Host 2 0x50 COUNTER

Respon Modul 10xAA

-0xEE

Parameter COUNTER adalah nomor counter yang akan diakses, bernilai 0 atau 1.Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x50 0x01 0x55USB Smart I/O : 0x58 0x01 0xAA 0xFD

17

Page 18: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

akan menghentikan Counter 1.

3.2.25.START COUNTERBerfungsi untuk memerintahkan modul mengaktifkan counter tertentu.

Byte Count Command Parameter

Perintah Host 2 0x51 COUNTER

Respon Modul 10xAA

-0xEE

Parameter COUNTER adalah nomor counter yang akan diakses, bernilai 0 atau 1.Saat counter diaktifkan dengan perintah ini, maka pin yang digunakan counter tersebut akan diubah menjadi digital input dengan resistor pull-up internal aktif. Pengaturan baru ini juga akan disimpan pada EEPROM.Jika paket dikenali dan benar, modul akan membalas dengan ACK (0xAA).Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x51 0x00 0x55USB Smart I/O : 0x58 0x01 0xAA 0xFDakan mengaktifkan Counter 0.

3.2.26.GET COUNTERBerfungsi untuk memerintahkan modul membaca hasil penghitungan dari counter tertentu.

Byte Count Command Parameter

Perintah Host 2 0x52 COUNTER

Respon Modul

3 0x52 MSB LSB

1 0xEE -

Parameter COUNTER adalah nomor counter yang akan diakses, bernilai 0 atau 1.Parameter MSB adalah most significant byte dari hasil pembacaan counter.Parameter LSB adalah least significant byte dari hasil pembacaan counter.Jika paket dikenali dan benar, modul akan membalas dengan data hasil pembacaan.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x02 0x52 0x00 0x54USB Smart I/O : 0x58 0x03 0x52 0x01 0x80 0xD2berarti komputer meminta nilai Counter 0 dan modul membalas bahwa nilai penghitungan Counter 0 adalah 384 (0x0180).

3.2.27.GET VERSIONBerfungsi untuk membaca versi firmware modul.

Byte Count Command Parameter

Perintah Host 1 0xFE -

Respon Modul

3 0xFE Major Minor

1 0xEE -

18

Page 19: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

Parameter Major dan Minor menunjukkan versi firmware dalam desimal dengan format Major.Minor.Jika paket dikenali dan benar, modul akan membalas dengan data hasil pembacaan.Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE).Contoh:PC : 0x58 0x01 0xFE 0xA9USB Smart I/O : 0x58 0x03 0xFE 0x01 0x00 0xA6berarti komputer meminta versi firmware dan modul menjawab bahwa versinya adalah 1.0 (0x01 0x00).

4. PROSEDUR PENGUJIAN1. Hubungkan DT-I/O I2C Peripheral ke PC-LINK USB SMART I/O melalui

terminal biru J5.2. Hubungkan DT-I/O RS232-RS485 Converter, DT-I/O Neo RS232 to RS485

Converter, atau DT-I/O USB to UART Converter ke komputer dan ke PC-LINK USB SMART I/O melalui terminal biru RS485 (J15).

3. Siapkan Voltmeter dan DT-I/O LED Logic Tester.4. Hubungkan sumber catu daya ke modul-modul tersebut.5. Jika catu daya telah terhubung dengan baik, maka LED POWER PC-LINK

USB SMART I/O akan menyala.6. Hubungkan konektor USB Mini-B ke USB port pada komputer dengan

menggunakan kabel USB yang disertakan.7. Jalankan SmartIO.exe.

8. Pilih COM Port yang digunakan. Tekan tombol Refresh untuk mendata ulang COM port yang baru terhubung.

9. Tekan Open.10.Pada bagian Testing (kanan), beri tanda centang pada Auto, lalu tekan

tombol Test.11. Ikuti setiap petunjuk yang muncul sebelum dan sesudah proses uji.12.Pengujian ANALOG INPUT, DIGITAL I/O, dan GP I/O akan menghasilkan

nyala DT-I/O LED Logic Tester yang bergantian.13.Pengujian DAC akan menghasilkan nilai tegangan yang bertambah mulai

dari 0 hingga ±5,1VDC.19

Page 20: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

14.Pengujian I2C akan menulis dan membaca EEPROM DT-I/O I2C Peripheral. Hasil penulisan dan pembacaan 8 byte pertama harus sama, yaitu 1, 3, 7, 15, 31, 63, 127, dan 255.

15.Pengujian UART TTL dan RS232 (dengan menghubungkan singkat RX dan TX) akan menghasilkan nilai byte yang sama antara Out dan In, yaitu 1, 3, 7, 15, 31, 63, 127, dan 255. Saat hubungan singkat dilepas, baris status (bawah) akan menunjukkan tidak ada data.

16.Pengujian UART RS485 akan mengirimkan data 1, 3, 7, 15, 31, 63, 127, dan 255 ke komputer. Dan data berikutnya yang dikirimkan melalui komputer harus sama dengan data yang dibaca oleh modul.

5. CONTOH PROGRAMPada CD/DVD telah disertakan source code program SmartIO. Source code ini dapat digunakan sebagai panduan untuk membuat program lain.Berikut ini adalah penjelasan fungsi masing-masing bagian GUI SmartIO.exe.

20

Get Baud Rate

Set Baud Rate

Baud Rate hasil pembacaan /Baud Rate yang akan ditentukan

Send DAC

Nilai yang dikirim ke DAC

Get VersionPing Reset

Hasil pembacaan versi

Get Bit Rate

Set Bit Rate

Bit Rate hasil pembacaan /Bit Rate yang akan ditentukan

I2C Start

Byte yang dikirim

I2C Write

I2C Read

I2C Stop

Byte hasil pembacaan

Ack/Nack

Get Function Get Port

Analog

Direct

Pull-up

Pilihan PortSet Function

Page 21: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

21

Logika Bit

Pilihan Bit

Set Bit Get Bit

Pilihan Kanal ADC

Pilihan Port

Hasil pembacaan nilai ADC

Get ADC

Byte yang dikirim Set Byte

Get Byte Byte hasil pembacaan

Get Counter

Pilihan Port

Hasil pembacaan Counter

Pilihan CounterStart Counter

Stop Counter

Page 22: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

♦ Terima Kasih atas kepercayaan Anda menggunakan produk kami, bila ada kesulitan, pertanyaan, atau saran mengenai produk ini silahkan menghubungi technical support kami :

[email protected]

22

I2C Send Packet Send UARTJumlah byte I2C yang

akan dibacaJumlah byte UART yang akan dibaca

I2C Get Packet

Get UART

Kolom Data Keluar

Kolom Data Masuk

Page 23: USB Smart I/O - Innovative Electronicsinnovativeelectronics.com/innovative_electronics/download_files/... · Contoh aplikasi PC-LINK USB SMART I/O adalah sebagai pengendali relay/LED,

LAMPIRAN A.Skematik PC-LINK USB SMART I/O

23