LỜI NÓI ĐẦU
Trong mấy chục năm qua , khoa học máy tính và xử lý thông tin có những
bước tiến vược bậc và ngày càng có những đóng góp to lớn vào cuộc cách mạng
khoa học kỹ thuật hiện đại. Đặc biệt sự ra đời và phát triển nhanh chóng của kỹ
thuật số làm cho ngành điện tử trở nên phong phú và đa dạng hơn. Nó góp phần rất
lớn trong việc đưa kỹ thuật hiện đại thâm nhập rộng rãi vào mọi lĩnh vực của hoạt
động sản xuất ,kinh tế và đời sống xã hội. Từ những hệ thống máy tính lớn đến
nhứng hệ thống máy tính cá nhân , từ những việc điều khiển các máy công nghiệp
đến các thiết bị phục vụ đời sống hằng ngày của con người. Với mong muốn tìm
hiểu , ứng dụng những tiến bộ của khoa học kỹ thuật hiện đại vào phục vụ sản xuất
và phục vụ đời sống con người
Hơn nữa được sự hướng dẫn và gíúp đỡ của thầy cô trong khoa em đã hoàn thành đề
tài của mình là thiết kế modul ghép nối máy tính sử dụng giao diện RS232. Do trình
độ còn hạn chế nên không tránh khỏi thiếu sót mong các thầy cô chỉ bảo thêm
Sau đây em xin trình bày thiết kế của mình
CHƯƠNG 1. TỔNG QUAN VỀ CÔNG NGHỆ.
1.1. Giới thiệu về chuẩn giao tiếp RS232
1.1.1. Đặt vấn đề
Vấn đề giao tiếp giữa PC và vi điều khiển rất quan trọng trong các ứng dụng
điều khiển, đo lường Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ
thuật được sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính.Nó là
một chuẩn giao tiếp nối tiếp dùng định dạng không đồng bộ, kết nối nhiều nhất
là 2 thiết bị , chiều dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5 đến
25.4m, tốc độ 20kbit/s đôi khi là tốc độ 115kbit/s với một số thiết bị đặc biệt. Ý
nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một
bit được gửi đi dọc theo đường truyền.
Có hia phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B
và RS232C. Nhưng cho đến nay thì phiên bản RS232B cũ thì ít được dùng còn
RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngẵn gọn là
chuẩn RS232
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi là
của bộ phát.
Mức điện áp của tiêu chuẩn RS232C ( chuẩn thường dùng bây giờ) được mô tả
như sau:
+ Mức logic 0 : +3V , +12V
+ Mức logic 1 : -12V, -3V
Các mức điện áp trong phạm vi từ -3V đến 3V là trạng thái chuyển tuyến. Chính
vì từ - 3V tới 3V là phạm vi không được định nghĩa, trong trường hợp thay đổi
giá trị logic từ thấp lên cao hoặc từ cao xuống thấp, một tín hiệu phải vượt qua
quãng quá độ trong một thơì gian ngắn hợp lý. Điều này dẫn đến việc phải hạn
chế về điện dung của các thiết bị tham gia và của cả đường truyền. Tốc độ
truyền dẫn tối đa phụ thuộc vào chiều dài của dây dẫn. Đa số các hệ thống hiện
nay chỉ hỗ trợ với tốc độ 19,2 kBd .
1.1.5. Cổng RS232 trên PC
Hầu hết các máy tính cá nhân hiện nay đều được trang bị ít nhất là 1 cổng
Com hay cổng nối tiếp RS232. Số lượng cổng Com có thể lên tới 4 tùy từng loại
main máy tính.Khi đó các cổng Com đó được đánh dấu là Com 1, Com 2, Com
3 Trên đó có 2 loại đầu nối được sử dụng cho cổng nối tiếp RS232 loại 9 chân
(DB9) hoặc 25 chân (DB25). Tuy hai loại đầu nối này có cùng song song nhưng
hai loại đầu nối này được phân biệt bởi cổng đực (DB9) và cổng cái (DB25)
Ta xét sơ đồ chân cổng Com 9 chân:
Trên là các kí hiệu chân và hình dạng của cổng DB9
Chức năng của các chân như sau:
+ chân 1 : Data Carrier Detect (DCD) : Phát tín hiệu mang dữ liệu
+ chân 2: Receive Data (RxD) : Nhận dữ liệu
+ chân 3 : Transmit Data (TxD) : Truyền dữ liệu
+ chân 4 : Data Termial Ready (DTR) : Đầu cuối dữ liệu sẵn sàng được kích
hoạt bởi bộ phận khi muốn truyền dữ liệu
+ chân 5 : Singal Ground ( SG) : Mass của tín hiệu
+ chân 6 : Data Set Ready (DSR) : Dữ liệu sẵn sàng, được kích hoạt bởi bộ
Một số tốc độ Baud thường dùng: 50, 75, 110, 150, 300, 600, 1200, 2400, 4800,
9600, 19200, 28800, 38400, 56000, 115200 … Trong thiết bị họ thường dùng
tốc độ là 19200
Khi sử dụng chuẩn nối tiếp RS232 thì yêu cầu khi sử dụng chuẩn là thời gian
chuyển mức logic không vượt quá 4% thời gian truyền 1 bit. Do vậy, nếu tốc độ
bit càng cao thì thời gian truyền 1 bit càng nhỏ thì thời gian chuyển mức logic
càng phải nhỏ. Điều này làm giới hạn tốc Baud và khoảng cách truyền.
c) Bit chẵn lẻ hay Parity bit
Đây là bit kiểm tra lỗi trên đường truyền. Thực chất của quá trình kiểm tra lỗi
khi truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra hoặc sửa một
số lỗi trong quá trình truyền . Do đó trong chuẩn RS232 sử dụng một kỹ thuật
kiểm tra chẵn lẻ.
Một bit chẵn lẻ được bổ sung vào dữ liệu được truyền để ch thấy số lượng các
bit "1" được gửi trong một khung truyền là chẵn hay lẻ.
Một Parity bit chỉ có thể tìm ra một số lẻ các lỗi chả hạn như 1,3,,5,7,9 Nếu
như một bit chẵn được mắc lỗi thì Parity bit sẽ trùng giá trị với trường hợp
không mắc lỗi vì thế không phát hiện ra lỗi. Do đó trong kỹ thuật mã hóa lỗi này
không được sử dụng trong trường hợp có khả năng một vài bit bị mắc lỗi.
Còn cách thức truyền dẫn. Phần này tôi không đề cập các bạn vui lòng xem
trong giáo trình
1.2. Giới thiệu về các linh kiện sử dụng trong bài.
1.2.1. Vi mạch UART CDP 6402
U 2
C D P 6 4 0 2
V C C
1
F E
1 4
R R C
1 7
T B R 4
2 9
T B R 5
3 0
T B R 6
3 1
T B R 7
3 2
T B R 8
3 3
O E
1 5
P E
1 3
T R E
2 4
T B R E
2 2
C R L
3 4
D R R
1 8
E P E
3 9
M R
2 1
P I
3 5
R R D
4
Chân Ký hiệu Mô tả
1 VDD Cực dương của nguồn nuôi
2 NC Không dùng
3 GND Mass đất, 0V
4 RRD Receive Register Disable
Khi tín hiệu này dẫn đến mức high thì các đường dẫn lối ra
D0OUT đến D7OUT chuyển sang trạng thái điện trở cao
5 D7 OUT Các bi dữ liệu đã đến theo cách nối tiếp ở chân 20 sẽ xuất
6 D6 OUT Hiện theo cách song song ở các lối ra ba trạng thái
7 D5 OUT D7OUT đến D0OUT
8 D4 OUT
9 D3 OUT
10 D2 OUT
11 D1OUT
12 D0 OUT
13 PE Parity Error: sai số chẵn lẻ
Một mức logic 1 ở chân này báo hiệu là bit chẵn lẻ đã được
lập trình không đồng nhất với bit nhận được. Nếu như bit
chẵn lẻ không được kích hoạt thì chân này nằm ở mức low
14 FE Sai số Framming
Mức High ở chân này báo hiệu là bit dừng đầu tiên là không
có giá trị. FE giữ nguyên High cho đến khi nhận được một
bit dừng có giá trị
15 OE Sai số Overrun
OE sau đó trở nên High, nếu như một byte mới đã nhận.
Trước khi byte cũ được đọc từ thanh ghi nhận
16 SFD Status Flag Disable
Một mức cao ở chân này có nghĩa là lối ra PE, FE, OE, DE,
và TBRL trở nên có điện trở cao
17 RRC Receiver Register Clock
26 D0IN Các bit dữ liệu ở các lối vào này được giửi trực tiếp đến nơi
nhận
27 D1IN
28 D2IN * D0IN là LSB
29 D3IN * D7IN là MSB
30 D4IN
31 D5IN
32 D6IN
33 D7IN
34 CLR Control Register Load: nạp thanh ghi điều khiển. Một mức
High nạp các bit điều khiển vào thanh ghi điều khiển.
35 PI CLS
2
0
0
0
0
0
CLS
1
0
0
0
0
0
PI
0
0
0
0
BITS
1
1,5
1
1,5
1
36 SBS 0
0
0
0
0
0
1
1
1
1
1
0
0
0
0
X
0
0
1
1
0
0
0
0
0
0
0
0
X
X
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
Disable
Disable
Lẻ
Lẻ
Chẵn
Chẵn
1
1,5
Lẻ
Lẻ
1
1,5
1
1,5
1 1 0 1 0 8 Chẵn 1
39 EPE 1
1
1
1
1
1
0
1
1
1
X
x
1
0
1
8
8
8
Chẵn
Disable
Disable
2
1
=
+
Ura = 5V
Uvao=8V
⇒
R2=500
k
Ω
, R1=200
k
Ω
2.1.2. Sử dụng mạch khuyếch đại thuật toán để chuyển các kênh có điện áp MAX bé
hơn +5V về dải 0 to +5V
Nguyên lý mạch
+
-
U 1 2 B
5
6
4
1 17
V o u t
0
V i n
R 1
R 2
Vout =
1 2
1
R R
2.3. Mạch ghép nối hoàn chỉnh
CHƯƠNG 3. THIẾT KẾ PHẦN MỀM.
3.1. Giao diện chương trình
3.2. Phần mềm thực hiện
Dim A(1 To 6) As Integer
Dim b(1 To 6) As Integer
Dim m1(1 To 6) As Integer
Dim m2(1 To 6) As Integer
Dim i, j As Integer
Private Sub Command1_Click()
MsgBox "giao dien dieu khien ket noi RS232 6 kenh dien ap don cuc"
End Sub
Private Sub Command2_Click()
For j = 1 To 6
A(1) = MSComm1.Input 'nhan bit cao nhat d7 tu lan chuyen doi truoc
For i = 2 To 7
m2(i) = m1(i) + 4
MSComm1.Output = Chr(m2(i)) 'dat chan RTS len muc high
MSComm1.Output = Chr(m2(i)) 'high to low
A(i) = MSComm1.Input 'nhan cac bit du lieu con lai
Next i
MSComm1.Output = Chr(m1(i)) 'gui du lieu chon kenh thu i
b(j) = A(0) * 2 ^ 7 + A(1) * 2 ^ 7 + A(2) * 2 ^ 7 + A(3) * 2 ^ 7 + A(4) * 2 ^ 7 +
A(5) * 2 ^ 7 + A(6) * 2 ^ 7 + A(7)
' phuc hoi du lieu 8 bit
Next j
b(1) = b(1) / 32 'phuc hoi gia tri thang do 1
b(2) = b(2) / 64 'phuc hoi gia tri thang do 2
b(3) = b(3) / 128 'phuc hoi gia tri thang do 3
b(4) = b(4) / 256 'phuc hoi gia tri thang do 4