• Tidak ada hasil yang ditemukan

1 Pendahuluan Spesifikasi Sistem yang Dianjurkan... 3

N/A
N/A
Protected

Academic year: 2021

Membagikan "1 Pendahuluan Spesifikasi Sistem yang Dianjurkan... 3"

Copied!
23
0
0

Teks penuh

(1)

USB Smart I/O

Trademarks & Copyright

I2C 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.

(2)

Daftar Isi

1 Pendahuluan... 3

1.1 Spesifikasi... 3

1.2 Sistem yang Dianjurkan... 3

2 Perangkat Keras... 4

2.1 Tata Letak Komponen... 4

2.2 Konektor dan Pengaturan Jumper... 4

3 Antarmuka... 7 3.1 Antarmuka UART... 7 3.2 Command Set... 8 3.2.1. Ping... 8 3.2.2. Reset... 8 3.2.3. Set Function... 9 3.2.4. Get Function... 9 3.2.5. Get Port... 10 3.2.6. Set Bit... 10 3.2.7. Get Bit... 11 3.2.8. Set Byte... 11 3.2.9. Get Byte... 12 3.2.10. Get ADC... 12

3.2.11. Set Bit Rate... 12

3.2.12. Get Bit Rate... 13

3.2.13. I2C Start... 13

3.2.14. I2C Write... 13

3.2.15. I2C Read... 14

3.2.16. I2C Stop... 14

3.2.17. I2C Send Packet... 14

3.2.18. I2C Get Packet... 15

3.2.19. Set Baud Rate... 15

3.2.20. Get Baud Rate... 16

3.2.21. Send UART... 16 3.2.22. Get UART... 16 3.2.23. Send DAC... 17 3.2.24. Stop Counter... 17 3.2.25. Start Counter... 18 3.2.26. Get Counter... 18 3.2.27. Get Version... 18 4 Prosedur Pengujian... 19 5 Contoh Program... 20 Lampiran A. Skematik PC-LINK USB SMART I/O... 23

(3)

1. PENDAHULUAN

PC-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. SPESIFIKASI

Spesifikasi 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-(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 DIANJURKAN

Sistem 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.

(4)

Polaritas DC Jack 2. PERANGKAT KERAS

2.1. TATA LETAK KOMPONEN

2.2. KONEKTOR DAN PENGATURAN JUMPER

DC Jack J2 dan Terminal biru J1 berfungsi sebagai konektor untuk catu daya modul, sedangkan terminal biru J12 berfungsi sebagai tegangan output dari regulator.

J1

Pin Nama Fungsi

1 GND Titik referensi ground untuk catu daya input 2 6,5-12VDC Terhubung ke catu daya input (6,5 – 12 Volt) J12

Pin Nama Fungsi

1 GND Titik referensi ground untuk tegangan output 2 5VDC Tegangan output dari regulator (±5,1 Volt)

(5)

SDA SCL

SDA SCL

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

Jumper SDA-SCL

J19 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 Fungsi

1 GND Titik referensi ground

2 TX Jalur data UART (RS232) keluar dari modul 3 RX Jalur data UART (RS232) masuk ke modul J6 (TTL)

Pin Nama Fungsi

1 GND Titik referensi ground

2 TX Jalur data UART (TTL) keluar dari modul 3 RX Jalur data UART (TTL) masuk ke modul J15

Pin Nama Fungsi

1 GND Titik referensi ground 2 D- Jalur data (inverting –) 3 D+ Jalur data (non-inverting +)

(6)

16 14 13 16 14 13 16 14 13 J17 J18 3 2 1 J17 J18 3 2 1 J17 J18 3 2 1 16 14 13

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 dilepasJumper

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.

J5

Pin Nama Fungsi

1 GND Titik referensi ground 2 SDA I2C-bus data input/output 3 SCL I2C-bus clock input J11

Pin Nama Fungsi

1 GND Titik referensi ground 2 DAC Tegangan output dari DAC

(7)

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. ANTARMUKA

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

3.1. ANTARMUKA UART

Parameter 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. AGND A0 A2 A4 A6 VCC A1 A3 A5 A7 2 1 10 9

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

PGND DIO0 DIO2 DIO4 DIO6 VCC DIO1 DIO3 DIO5 DIO7 2 1 10 9 PGND GPIO0 GPIO2 GPIO4 SDA VCC GPIO1 GPIO3 SCL 2 1 10 9

(8)

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. PING

Berfungsi untuk memeriksa apakah jalur komunikasi ke modul masih ada.

Byte Count Command Parameter

Perintah Host 1 0xFF

-Respon Modul 1 0xAA

-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 0xA8

USB Smart I/O : 0x58 0x01 0xAA 0xFD

3.2.2. RESET

Berfungsi untuk melakukan soft-reset pada modul.

Byte Count Command Parameter

Perintah Host 1 0x01

-Respon Modul 1 0xAA

-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 0xA6

(9)

3.2.3. SET FUNCTION

Berfungsi 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 0x93

USB Smart I/O : 0x58 0x01 0xAA 0xFD

akan 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 FUNCTION

Berfungsi 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.

(10)

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 0x93

USB Smart I/O : 0x58 0x04 0x11 0x00 0x00 0x1F 0x74

berarti 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 PORT

Berfungsi untuk memerintahkan modul membaca nilai 1 port tertentu.

Byte Count Command Parameter

Perintah Host 2 0x12 PORT

Respon Modul 2 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 0x93

USB Smart I/O : 0x58 0x02 0x12 0x88 0x0C

berarti komputer meminta nilai pada Digital I/O dan modul menjawab bahwa nilai PORT pada port tersebut adalah 0x88.

3.2.6. SET BIT

Berfungsi 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.

(11)

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 0x8A

USB Smart I/O : 0x58 0x01 0xAA 0xFD akan mengirimkan nilai 1/high ke Digital I/O bit 5.

3.2.7. GET BIT

Berfungsi 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 0x8F

USB Smart I/O : 0x58 0x02 0x14 0x00 0x92

berarti komputer meminta nilai bit 2 pada Analog Input dan modul menjawab bahwa logika pada bit tersebut adalah low.

3.2.8. SET BYTE

Berfungsi 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 0x3B

USB Smart I/O : 0x58 0x01 0xAA 0xFD akan mengirimkan nilai 0x55 ke Analog Input.

(12)

3.2.9. GET BYTE

Berfungsi untuk memerintahkan modul membaca nilai 1 port tertentu.

Byte Count Command Parameter

Perintah Host 2 0x16 PORT

Respon Modul 2 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 0x8F

USB Smart I/O : 0x58 0x02 0x16 0x88 0x08

berarti komputer meminta nilai pada Digital I/O dan modul menjawab bahwa nilai PIN pada port tersebut adalah 0x88.

3.2.10.GET ADC

Berfungsi 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 0x8C

USB Smart I/O : 0x58 0x03 0x17 0x03 0xFF 0x8C

berarti komputer meminta nilai pada kanal ADC 3 dan modul menjawab bahwa nilai ADC pada kanal tersebut adalah 1023 (0x03FF).

3.2.11.SET BIT RATE

Berfungsi 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.

(13)

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 0x21

USB Smart I/O : 0x58 0x01 0xAA 0xFD

akan mengatur bit rate untuk I2C sebesar 100 (0x0064) kHz. 3.2.12.GET BIT RATE

Berfungsi 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 0x86

USB Smart I/O : 0x58 0x03 0x21 0x00 0x32 0x52

berarti komputer meminta nilai bit rate dan modul menjawab bahwa bit rate adalah sebesar 50 (0x0032) kHz.

3.2.13.I2C START

Berfungsi untuk memerintahkan modul mengirimkan kondisi start pada jalur I2C. Byte Count Command Parameter

Perintah Host 1 0x22

-Respon Modul 1 0xAA

-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 0x85

USB Smart I/O : 0x58 0x01 0xAA 0xFD

3.2.14.I2C WRITE

Berfungsi untuk memerintahkan modul mengirimkan 1 byte melalui jalur I2C. Byte Count Command Parameter

Perintah Host 2 0x23 1 byte data

Respon Modul 1 0xAA

(14)

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 0xE3

USB Smart I/O : 0x58 0x01 0xAA 0xFD akan mengirimkan nilai 160 (0xA0) melalui I2C. 3.2.15.I2C READ

Berfungsi untuk memerintahkan modul membaca 1 byte melalui jalur I2C. Byte Count Command Parameter

Perintah Host 2 0x24 0x00 (nack)

0x01 (ack)

Respon Modul 2 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 0x82

USB Smart I/O : 0x58 0x02 0x24 0x90 0xF2

berarti 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 STOP

Berfungsi untuk memerintahkan modul mengirimkan kondisi stop pada jalur I2C. Byte Count Command Parameter

Perintah Host 1 0x25

-Respon Modul 1 0xAA

-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 0x82

USB Smart I/O : 0x58 0x01 0xAA 0xFD

3.2.17.I2C SEND PACKET

Berfungsi untuk memerintahkan modul mengirimkan 1 paket data melalui jalur I2C.

Byte Count Command Parameter

Perintah Host 2 – 36 0x26 1 – 35 byte

Respon Modul 1 0xAA

(15)

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 0xA7

USB Smart I/O : 0x58 0x01 0xAA 0xFD

akan mengirimkan kondisi start, 0xD0 (alamat tulis divais I2C yang akan diakses), 0x01, 0x02, 0x03, dan kondisi stop.

3.2.18.I2C GET PACKET

Berfungsi 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 0xAD

USB Smart I/O : 0x58 0x02 0x27 0x03 0x7C

berarti 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 RATE

Berfungsi untuk mengatur baud rate UART.

Byte Count Command Parameter

Perintah Host 2 0x30 BAUDRATE

Respon Modul 1 0xAA

-0xEE Parameter BAUDRATE adalah kode nilai baud rate. Kode 1 = baud rate 9600 bps

Kode 2 = baud rate 19200 bps Kode 3 = baud rate 38400 bps Kode 4 = baud rate 57600 bps

Pengaturan ini akan disimpan pada EEPROM sehingga tidak akan hilang saat modul tidak diberi catu daya.

(16)

Jika paket salah/tidak dikenali, modul akan membalas dengan NACK (0xEE). Contoh:

PC : 0x58 0x02 0x30 0x03 0x73

USB Smart I/O : 0x58 0x01 0xAA 0xFD akan mengatur baud rate 38400 bps.

3.2.20.GET BAUD RATE

Berfungsi untuk membaca baud rate UART.

Byte Count Command Parameter

Perintah Host 1 0x31

-Respon Modul 2 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 0x76

USB Smart I/O : 0x58 0x02 0x31 0x03 0x72

berarti komputer meminta nilai baud rate dan modul menjawab bahwa baud rate bernilai 38400 bps.

3.2.21.SEND UART

Berfungsi untuk memerintahkan modul mengirimkan serangkaian data melalui jalur UART.

Byte Count Command Parameter

Perintah Host 2 – 33 0x32 1 – 32 byte

Respon Modul 1 0xAA

-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 0x6C

USB Smart I/O : 0x58 0x01 0xAA 0xFD

akan mengirimkan data 0x01, 0x02, dan 0x03 melalui jalur UART.

3.2.22.GET UART

Berfungsi 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

1 0xAA

(17)

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 0x70

USB Smart I/O : 0x58 0x04 0x33 0x01 0x02 0x03 0x6B

berarti komputer meminta 3 data dan modul menjawab bahwa hasil pembacaan adalah 0x01, 0x02, dan 0x03.

3.2.23.SEND DAC

Berfungsi untuk memerintahkan modul mengirimkan nilai ke DAC untuk diubah menjadi tegangan analog.

Byte Count Command Parameter

Perintah Host 2 0x40 VALUE

Respon Modul 1 0xAA

-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 0xE6

USB Smart I/O : 0x58 0x01 0xAA 0xFD

akan mengirimkan nilai 128 (0x80) ke DAC yang akan dikonversikan menjadi tegangan sekitar 2,58 V.

3.2.24.STOP COUNTER

Berfungsi untuk memerintahkan modul menghentikan counter tertentu.

Byte Count Command Parameter

Perintah Host 2 0x50 COUNTER

Respon Modul 1 0xAA

-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 0x55

(18)

akan menghentikan Counter 1.

3.2.25.START COUNTER

Berfungsi untuk memerintahkan modul mengaktifkan counter tertentu.

Byte Count Command Parameter

Perintah Host 2 0x51 COUNTER

Respon Modul 1 0xAA

-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 0x55

USB Smart I/O : 0x58 0x01 0xAA 0xFD akan mengaktifkan Counter 0.

3.2.26.GET COUNTER

Berfungsi 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 0x54

USB Smart I/O : 0x58 0x03 0x52 0x01 0x80 0xD2

berarti komputer meminta nilai Counter 0 dan modul membalas bahwa nilai penghitungan Counter 0 adalah 384 (0x0180).

3.2.27.GET VERSION

Berfungsi untuk membaca versi firmware modul.

Byte Count Command Parameter

Perintah Host 1 0xFE

-Respon Modul

3 0xFE Major Minor

(19)

-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 0xA9

USB Smart I/O : 0x58 0x03 0xFE 0x01 0x00 0xA6

berarti komputer meminta versi firmware dan modul menjawab bahwa versinya adalah 1.0 (0x01 0x00).

4. PROSEDUR PENGUJIAN

1. 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.

(20)

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 PROGRAM

Pada 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. Get Baud

Rate

Set Baud Rate

Baud Rate hasil pembacaan / Baud Rate yang akan ditentukan

Send DAC

Nilai yang dikirim ke DAC

Get Version Ping 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 Port Set Function

(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 Counter

Start Counter Stop Counter

(22)

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

[email protected]

I2C Send Packet Send UART

Jumlah byte I2C yang akan dibaca

Jumlah byte UART yang akan dibaca

I2C Get Packet Get UART Kolom Data Keluar Kolom Data Masuk

(23)

LAMPIRAN A.

Referensi

Dokumen terkait

Za let letjelice potrebno je razviti dovoljnu silu uzgona i propulzije. Kod ve´ cine letjelica s krilima ve´ cinska sila uzgona dobiva se na krilu. Sile su rezultat razlike tlakova

Oleh sebab itu, budaya organisasi sangat berpengaruh terhadap perilaku para anggota organisasi karena sistem nilai dalam budaya organisasi dapat dijadikan acuan

3) siswa malu bertanya/ mengemukakan pendapatnya saat proses pembelajaran karena tidak memiliki kepercayaan diri dan kurangnya daya kreativitas guru

PT PAL Indonesia merupakan perusahaan yang bergerak dalam bidang produksi perkapalan dalam pelaksanaan kegiatan produksinya, keselamatan dan kesehatan kerja merupakan

[r]

Penelitian mengenai pola penggunaan ruang bertengger kelelawar di Gua Putih Hutan Pendidikan Gunung Walat perlu dilakukan untuk menjadikan HPGW sebagai salah satu

Pengalaman Kesenangan (X4.3) ‘Pengalaman kesenangan’ konsumen sebagai salah satu indikator dari dimensi ‘motivasi’ memberikan kontribusi terbesar yaitu sebesar 0,3667