UART hay Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếp bất đồng bộUART hay Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếp bất đồng bộUART hay Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếp bất đồng bộUART hay Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếp bất đồng bộUART hay Universal Asynchronous Receiver Transmitter là bộ truyền nhận nối tiếp bất đồng bộ
Trang 1Báo cáo bài tập lớn Chủ đề:Truyền thông UART giữa 2 MCU
Thành viên:
1/ Nguyễn Phạm Hồng Phúc 41102617
2/ Lê Quang Sơn 41102924
3/ Nguyễn Thanh Bình 41100306
Trang 2Báo cáo:
Chủ đề:Truyền thông UART giữa 2 MCU
1 Giới thiệu về UART
2 MSP439G2553 và chức năng UART của nó.
3 Giới thiệu Kit Lauchpad
4 Khai thác chức năng UART của MSP thông qua KIT Launchpad
5 Code chương trình
Trang 31/ Giới thiệu về UART
UART hay Universal Asynchronous Receiver
Transmitter là bộ truyền nhận nối tiếp bất đồng bộ
Bit
num
Start
bit 5–8 data bits Stop bit(s) Start Data 0 Data 1 Data 2 Data 3 Data 4 Data 5 Data 6 Data 7 Stop
Trang 4Thiết bị UART cần kết hợp 1 thiết bị chuyển mức điện áp mới có thể tạo ra 1 chuẩn giao tiếp
Trang 5Ưu thế của truyền nối tiếp so với truyền song song:tốn ít port hơn
Nhược điểm: cần có chuẩn thỏa hiệp giữa 2 bên
tốc độ chậm,dễ lỗi
Trang 6Các khái niệm trong truyền nối tiếp:
parity
Frame truyền
Stop bit
Tốc độ baud
Start bit
data
Trang 72/ MSP430G2553 và chức năng UART của nó
Vi điều khiển( Micro controller unit – MCU ) là đơn vị xử lý nhỏ, nó
được tích hợp toàn bộ các bộ nhớ như ROM , RAM , các port truy
xuất , giao tiếp ngoại vi trực tiếp trên 1 con chip hết sức nhỏ gọn
Được thiết kế dựa trên cấu trúc VON-NEUMAN , đặc điểm của cấu
trúc này là chỉ có duy nhất 1 bus giữa CPU và bộ nhớ (data và
chương trình) , do đó mà chúng phải có độ rộng bit tương tự nhau.
Trang 8MCU MSP430G2553 là sản phẩm của TI thuộc họ MSP430x2xx
Trang 9Chip MSP430 có kích thước nhỏ gọn , chỉ với
20 chân đối với kiểu chân DIP.
Trang 10Kit có thể hỗ trợ:
-1 mạch nạp code có cả debug
-1 dây cáp USB tốt để kết nối kit với máy tính.
-1 chip thạch anh 32,768kHz
-1 chip MSP430G2553
-1 chip MSP430G2453
-1 header female.
3/ Giới thiệu kit Launchpad
Trang 11Tất cả chỉ có 9,8 USD
Trang 124/ Khai thác sử dụng UART từ kit Launchpad với MSP430G2553
Với kit Lauchpad : Jumpers 4 and 5 connect the UART interface of the
emulator to the target device pins P1.1 and P1.2 The direction of the UART
signal lines can be selected by the orientation of the attached jumpers In
horizontal orientation, the jumpers connect TXD to P1.1 and RXD to P1.2,
as they are used for the software UART communication on the demo
application) In vertical orientation, the jumpers connect the TXD signal to
P1.2 and the RXD signal to P1.1, as required for the MSP430G2553 USCI
Trang 13
Đặt cấu hình UART cho MSP430G2553
Trang 14Cờ ngắt cho bộ truyền:The UTXIFGx interrupt flag is set by the transmitter to indicate that UxTXBUF is
ready to accept another character An interrupt request
is generated if UTXIEx and GIE are also set UTXIFGx
is automatically reset if the interrupt request is
serviced or if a character is written to UxTXBUF
Cờ ngắt cho bộ nhận: :The URXIFGx interrupt flag is set each time a character is received and loaded into
UxRXBUF An interrupt request is generated if URXIEx and GIE are also set
Trang 15#include "msp430g2553.h"
void main(void)
{
WDTCTL = WDTPW + WDTHOLD;
BCSCTL1 = CALBC1_1MHZ; // Set DCO
DCOCTL = CALDCO_1MHZ;
P1SEL = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD
P1SEL2 = BIT1 + BIT2 ; // P1.1 = RXD, P1.2=TXD UCA0CTL1 |= UCSSEL_2; // chọn xung clock SMCLK
5/ Code chương trình
Trang 16UCA0BR0 = 104;
UCA0BR1 = 0;
UCA0MCTL = UCBRS0; no modulation
UCA0CTL1 &= ~UCSWRST;giữ uart ở trạng thái hold xó nó về 0 IE2 |= UCA0RXIE;
bis_SR_register(LPM0_bits + GIE);
}
#pragma vector=USCIAB0RX_VECTOR
interrupt void USCI0RX_ISR(void)
{
while (!(IFG2&UCA0TXIFG));
UCA0TXBUF = UCA0RXBUF;
}