Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
2,77 MB
Nội dung
8/9/2016 ĐẠI HỌC QUỐC GIA TP.HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN KỸ THUẬT ĐIỆN TỬ Embedded System Design Chapter 7: Peripherals for embedded systems 7.1 Digital parallel input / output 7.2 LCD interfacing 7.3 Analog input /output 7.4 Serial communication Bộ Môn Kỹ Thuật Điện Tử - ĐHBK 7.3. Analog Input • Allows an external voltage to be converted to digital form, stored and processed • This type of input occurs in data loggers, control systems, digital audio and signal processors… • The PIC microcontrollers is designed specifically for high‐ speed analog signal processing Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 8/9/2016 Analog input with PIC 16 Series Device Pins 16F873A 16F876A 28 parallel ports, counter/timers, capture/compare/PWM, serial, 10-bit ADC, comparators 16F874A 16F877A 40 parallel ports, counter/timers, capture/compare/PWM, serial, 10-bit ADC, comparators Bộ môn Kỹ Thuật Điện Tử - ĐHBK Features Chapter - p2 The PIC16F87XA ADC module Functional blocks for the A/D converter in medium-end PIC microcontrollers A/D, successive approximation analog-to-digital converter; SHA, sample-and-hold Chapter - p2 amplifier; AMUX, analog multiplexer 8/9/2016 Analog Setup • The PIC 16F877 has eight analog inputs: RA0, RA1, RA2, RA3, RA5, RE0, RE1, RE2 being renamed AN0 to AN7 U1 13 14 10 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 PIC16F877 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 CCS C Analog Input Functions Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 8/9/2016 CCS C Analog Input Functions Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 CCS C Analog Input Functions Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 8/9/2016 Chapter - p2 Example U1 RV1 1k 13 14 10 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 LCD1 VDD RXD VSS MILFORD-2X16-BKP PIC16F877 Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 10 8/9/2016 Example Bộ môn Kỹ Thuật Điện Tử - ĐHBK 11 Chapter - p2 Voltage measurement RV5(1) V=2.71739 LCD1 R3 VDD 120R RXD R1 VSS 680R RV5 MILFORD-2X16-BKP U1(RA3/AN3/VREF+) V=2.55838 RV4 U1 13 14 1k RV3 1k 1k RV1 RV6 RV2 1k RV7 RV8 1k 10 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 1k R2 1k 4k7 1k D1 BZX79C2V7 Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 PIC16F877 12 8/9/2016 Voltage measurement Bộ môn Kỹ Thuật Điện Tử - ĐHBK 13 Chapter - p2 7.3. Analog Output Basic digital to analogue converter b) output voltage a) general DAC hardware Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 14 8/9/2016 DAC Bộ môn Kỹ Thuật Điện Tử - ĐHBK 15 Chapter - p2 DAC Circuit • Typical application A1 A2 A8 Vo 10V 256 Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 16 8/9/2016 Ex: DAC0808 & Serial DAC Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 17 Waveform Generator Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 18 8/9/2016 Waveform Generator Source Code (1/3) Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 19 Waveform Generator Source Code (2/3) Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 20 10 8/9/2016 Waveform Generator Source Code (3/3) Bộ môn Kỹ Thuật Điện Tử - ĐHBK 21 Chapter - p2 Class Assignment • Design a system to read temperature data from the sensor LM35, and show the result on LCD LCD1 Bộ mơn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 D0 D1 D2 D3 D4 D5 D6 D7 10 11 12 13 14 RS RW E VSS VDD VEE LM016L 22 11 8/9/2016 Serial communication Serial transmission of binary data consists of sending the bits of a word one by one in a consecutive form and using the same pins Parallel vs Serial IO Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 23 simplex vs half‐duplex vs full‐duplex Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 24 12 8/9/2016 Serial Communication 1.PIC16 USART Serial Link 2.PIC16 SPI Serial Bus 3.I2C Serial Bus Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 25 USART • The universal synchronous/asynchronous receive transmit (USART) device is typically used in asynchronous mode to implement off‐board, one‐to‐one connections. • The term asynchronous means no separate clock signal is needed to time the data reception, so only a data send, data receive, and ground wires are needed. • It is quick and simple to implement if a limited data bandwidth is acceptable. USART Operation Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 26 13 8/9/2016 USART • RS232 driver – MAX232 USART RS232 Signal Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 27 USART with PIC microcontroller • The PIC has a dedicated hardware RS232 port, but CCS C allows any pin to be set up as an RS232 port, providing functions to generate the signals in software (a) Connection between two PICs in asynchronous mode Bộ môn Kỹ Thuật Điện Tử - ĐHBK (b) Synchronous mode connection CK is the clock pin, output in the master device and input in the slave device Chapter - p2 28 14 8/9/2016 CCS RS232 Serial Port Functions Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 29 RS232 Periperal Simulation Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 30 15 8/9/2016 The program Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 31 Outline 1.PIC16 UART Serial Link 2.PIC16 SPI Serial Bus 3.I2C Serial Bus Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 32 16 8/9/2016 SPI Bus • The serial peripheral interface (SPI) bus provides high‐speed synchronous data exchange over relatively short distances (typically within a set of connected boards), using a master/slave system with hardware slave selection • One processor must act as a master, generating the clock. Others act as slaves, using the master clock for timing the data send and receive. • The slaves can be other microcontrollers or peripherals with an SPI interface • The SPI signals are: – – – – Serial Clock (SCK) Serial Data In (SDI) Serial Data Out (SDO) Slave Select (!SS) Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 33 SPI Bus SPI Connection SPI Signals Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 34 17 8/9/2016 SPI Operation • To transfer data, the master selects a slave device to talk to, by taking its SS line low. • Eight data bits are then clocked in or out of the slave SPI shift register to or from the master. No start and stop bits are necessary, and it is much faster than RS232. • The clock signal runs at the same speed as the master instruction clock, that is, 5MHz when the chip is running at the maximum 20MHz (16 series MCUs) Bộ mơn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 35 SPI Driver Functions Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 36 18 8/9/2016 • SPI Test System Schematic Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 37 Master and slaves source code Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 38 19 8/9/2016 Outline 1.PIC16 UART Serial Link 2.PIC16 SPI Serial Bus 3.I2C Serial Bus Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 39 I2C Bus • The interintegrated circuit (I2C) bus is designed for short‐range communication between chips in the same system using a software addressing system. • It requires only two signal wires and operates like a simplified local area network I2C connection I2C signals Bộ mơn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 40 20 8/9/2016 I2C Bus • The I2C slave chips are attached to a two‐wire bus, which is pulled up to logic 1 when idle. Passive slave devices have their register or location addresses determined by a combination of external input address code pins and fixed internal decoding • As for SPI, the clock is derived from the instruction clock, up to 5MHz at the maximum clock rate of 20MHz Bộ mơn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 41 I2C Bus • To send a data byte, the master first sends a control code to set up the transfer, then the 8‐bit or 10‐bit address code, and finally the data. Each byte has a start and acknowledge bit, and each byte must be acknowledged before the next is sent, to improve reliability • The sequence to read a single byte requires a total of 5 bytes to complete the process, 3 to set the address, and 2 to return the data Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 42 21 8/9/2016 I2C Functions Bộ môn Kỹ Thuật Điện Tử - ĐHBK 43 Chapter - p2 I2C Test System DSW1 13 14 10 OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/THV RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T0CKI RA5/AN4/SS RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/RX/DT RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A 33 34 35 36 37 38 39 40 15 16 17 18 23 24 25 26 ON OFF DIPSWC_8 +5V R1 R2 4k7 4k7 U2 SCK SDA WP A0 A1 A2 24FC256 19 20 21 22 27 28 29 30 SDA SCL I2C TRIG U1 Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 44 22 8/9/2016 I2C Test System Bộ môn Kỹ Thuật Điện Tử - ĐHBK Chapter - p2 45 23