GPIO TnEX ADC UART I2C SPI GPIO PWM 2
Interfacing Programming Peripheral Devices MCU ICE (Nu-Link) PC IDE
RS232 CAN2.0 USB2.0 to PC Speaker : Con3 earphone : J1 mic : J2 Reset SW Int VR LEDs
Input only with high impedance Set GPIOx_PMD(PMDn[1:0]) to 00b the GPIOx port [n] pin is in Input mode and the I/O pin is in tri-state (high impedance) without output drive capability Open-Drain Output Push-Pull Output Quasi bi-direction
An 8-bit data bus, controlled by a clock, transmitting a byte every clock pulse. 9 wires are used. Contoh: LCD Karakter16 x 2
Pin Function Name 1 Ground (0V) Vss 2 5V (4.7V 5.3V) Vdd 3 Contrast V EE 4 Perintah (LOW) / (HIGH) Register Select 5 Terima (LOW) / Kirim (HIGH) Read/write 6 Proses data (Falling Edge) Enable 7 8-bit data DB0 8 DB1 9 DB2 10 DB3 11 DB4 12 DB5 13 DB6 14 DB7 15 Backlight 3V ~12mA Led+ 16 Backlight Ground (0V) Led-
USART = Universal Synchronous/ Asynchronous Receiver Transmitter serial dikirimkanper 1 bit padasekali waktu Antarmuka serial lebih murah USB adalah contoh antarmuka serial.
ASYNCHRONOUS Untuk komunikasi kecepatan lambat, >115Kbps akan mengakibatkanbanyakerror Tidak membutuhkan jalur clock Masing-masing piranti memiliki clock sendiri Perlu menyamakanclock dengan BAUD rate Contoh: UART / Serial RS-232 / COMx SYNCHRONOUS Untuk komunikasi kecepatan tinggi Clock memiliki frekuensi yang samadari1 sumber Membutuhkan 1 jalur clock Contoh: SPI I2C 1-Wire I2S
Menambah: Bit Start, Stop, Parity Menghilangkan: Bit Start, Stop, Parity Transmitter buffer + Receiver buffer 1 byte 1 byte Transmitter Receiver Menggeser(shift) bit parallel ke jalur serial dengan clocknya Menambah: Bit Start, Stop, Parity Menghilangkan: Bit Start, Stop, Parity Membuka(extract) jalurserial menjadibit data parallel dengan clock-nya
Drive Drive Drive Drive Drive Drive Drive Drive Drive Drive Drive Serial Transmit Start Parity Stop Bit Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Bit Bit LSB MSB Sample Sample Sample Sample Sample Sample Sample Sample Sample Sample Sample Serial Receive Start Bit Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Bit 7 Parity Bit Stop Bit LSB MSB
Bit Start mengindikasikan awal pengiriman data dalam 1 byte Bit Stop mengindikasikan akhir pengiriman data dalam 1 byte Bit Parity tambahan untuk deteksi error (optional) Bit-bit data yang dikirim/diterima Baud Rate bit rate komunikasi serial (seberapa cepat) Throughput kenyataan data yang dikirimkan per detik (total bit) Contoh: 115200 baud = 115200 bit/det Jikadata 8-bit + 1 start +, 1 stop tanpa parity, maka throughputnya: 115200 * 8 / 10 = 92160 bit/det Bagaimana receiver dapat mengetahui bahwa yang dikirim adalah bit start atau bukan? 0 1 2 3 Bit start
USART and Asynchron ous Communic ation di-sample terus-menerus dengan16 clkhinggafalling edge. Saat terdeteksi maka menanti 6 clocks to begin sampling. 1 clk sebelum tangah-tengah clk, diambil 3 sample (bagian kotak) Jikasample ke 2 atauke 3 terdeteksi HIGH, Maka mencari falling edge lagi sebagai bit start JikaketiganyaLOW maka, terdeteksi bit start. Selanjutnya mulai men-sampling setiap 16 clk dari bit tengah-tengah
Perlu kesepakatan antara receiver dan transmitter tentang: Kecepatan clock / baud rate Jumlah bit data, jenisparity danjumlah bit stop Endianness: LSB / MSB first Bit start 0 1 2 3 sample sample sample sample
dibentuk dari proses XOR bit-bit data dapat berjenis even atau odd P even = dnxor dn-1 XOR dn-2... XOR d0 P odd = dnxor dn-1 XOR dn-2... XOR d0 XOR 1 Misal bit 0010 1101, MSB first denganjenis parity P odd maka bit parity adalah 1 Bit yang dikirim adalah 0 0010 1101 1 1
Syaratagar tidakerror untuk koneksi gambar disamping: Half duplex Menggunakan multiplexer Jikakeduatransmitter mengirimkan data yag berbedadisaatyang bersamaan, maka perbedaan tegangan akan merusaknya
Menambah: Bit Start, Stop, Parity Menghilangkan: Bit Start, Stop, Parity Transmitter buffer + Clock Receiver buffer 1 byte 1 byte Transmitter Receiver Menggeser(shift) bit parallel ke jalur serial dengan clocknya Mengirimkan kondisi clock ke penerima Menambah: Bit Start, Stop, Parity Menghilangkan: Bit Start, Stop, Parity Membuka(extract) jalurserial menjadi bit data parallel sesuai denganjalurclock yang diterima
Serial Peripheral Interface: Dikenalkan oleh Motorola Mampu menangangi clock 70 MHz (atau berdasarkan dari Master) Antarmuka ke banyak device, walaupun bisa jadi bukan peripheral SPI Bertindak sebagi Master atau Slave Master biasanya microcontroller Slave biasanya peripheral lain Master mengirimkan clocks dan Chip Select (CS) untuk mengaktifkan Slave Memerlukan 4 jalur interface (Master;Full duplex): MOSI MISO SCK SS (CS) master out slave in master in slave out serial clock slave select Biasanya disertakan jalur interrupt untuk mengirimkan sinyal tertentu dari peripheral
MASTER MOSI SLAVE 7 6 5 4 3 2 1 0 SCLK SS MISO 0 1 2 3 4 5 6 7
INDEPENDENT Harusadapull-up pada bagian SS MISO harus dalam keadaan tri-state impedansi tinggi
DAISY CHAIN Output MISO slave pertama dihubungkan ke MOSI slave selanjutnya Bertindak seperti prinsip shift register
CASCADE DAISY CHAIN 3 INPUT 24 OUTPUT (74LS164) SS
Bus SPI pada micro-controller / processor SCLK -Serial Clock (output darimaster) MOSI - Master Output, Slave Input (output dari master) MISO - Master Input, Slave Output (output dari slave) SS -Slave Select (active low; output darimaster) Nama alternatif pada peripheral SCLK: SCK, CLK, SH (Shift) MOSI: SIMO, SDI, DI, DIN, SI, MTST, DS MISO: SOMI, SDO, DO, DOUT, SO, MRSR SS: ncs, CS, CSB, CSN, EN, nss, STE, SYNC, SSEL 6-27
CPOL=0 clock idle/inactive adalah LOW CPOL=1 clock idle/inactive adalah HIGH CPHA=0 data di-sampling saat perubahan SCK dari kondisi idle ke kondisi aktif CPHA=1 data di-sampling saat perubahansck dari kondisiaktif ke kondisiidle Mode CPOL CPHA 0 1 2 3 0 0 1 1 0 1 0 1
Kelebihan SPI: Lebih cepat dari asynchronous Dapat menggunakan shift register Mendukung banyak koneksi slaves Kekurangan SPI: Memerlukan lebih banyak jalur Komunikasi data yang beragam, memerlukan pemahaman dan penerapan sesuai di datasheet Master mengendalikan arah pengiriman data, slave tidak bisa mengendalikan arah pengiriman Jika mode SPI peripheral berbeda-beda maka membutuhkan banyak SS untuk setiap peripheral dengan koneksi independen Hanya digunakan untuk koneksi jarak dekat, krn rentan interferensi pada jalurnya
MISO TRI-STATE PULL-UP PADA CS
www.silabs.com/mcu
I2c -LCD