CAN轉(zhuǎn)RS232接口卡的設(shè)計方案
控制器局域網(wǎng)(Controller Area Network,CAN)屬于現(xiàn)場總線的范疇,其總線規(guī)范已被ISO國際標準化組織制定為國際標準,并被公認為是最有前途的現(xiàn)場總線之一。CAN總線廣泛應(yīng)用于控制系統(tǒng)中的各檢測和執(zhí)行機構(gòu)之間的數(shù)據(jù)通信。因為CAN總線數(shù)據(jù)的傳輸和處理都由節(jié)點的單片機完成。這樣就使設(shè)計者和觀察者沒有辦法以比較直觀的方式掌握總線的運行情況。
本文引用地址:http://2s4d.com/article/155383.htm現(xiàn)在市場上主要有兩種CAN的接口卡,使用PCI總線和使用USB接口。前者具有傳輸速度快的特點,但卻要占用一個計算機的插槽,并且設(shè)計上十分困難;后者的傳輸速度也很快,且價格較便宜,但要花費很大的精力進行USB的固件開發(fā)和維護,并要編寫復(fù)雜的驅(qū)動程序。根據(jù)此,需要設(shè)計一種能夠方便讀取CAN總線數(shù)據(jù),并通過RS 232串行口將數(shù)據(jù)送給PC機處理和顯示的接口卡;此外還需對其串行傳輸?shù)膮f(xié)議進行加強,以使能有效地降低傳輸過程中出現(xiàn)的錯誤。
1 接口卡的硬件設(shè)計
硬件部分主要包括主控制器、CAN總線控制器、CAN總線收發(fā)器以及與計算機的RS 232通信接口芯片等。系統(tǒng)的總體結(jié)構(gòu)如圖1所示。主控制器通過CAN總線接口接收和緩存數(shù)據(jù)。根據(jù)PC機的命令進行選擇性的數(shù)據(jù)傳輸。
1.1 與CAN總線接口
如圖2所示,接口卡的控制器選用Atmel公司的AT89S51,該單片機的引腳和功能與8051兼容,并且內(nèi)部含有4 KB的FLASH ROM,支持在系統(tǒng)編程(ISP),這樣可以很方便地將應(yīng)用程序下載到單片機里。
CAN總線控制器選用Philips公司生產(chǎn)的SJA1000,該芯片是PCA82C200CAN控制器的替代品,而且新增加了一種PeliCAN工作模式,能夠支持CAN 2.0B協(xié)議。它還支持錯誤中斷、報警限制、驗收濾波器擴展和自接收請求等功能。在系統(tǒng)中,將SJA1000的中斷輸出引腳INT接到單片機的中斷輸入引腳,這樣可以在接收數(shù)據(jù)或者總線錯誤時產(chǎn)生中斷,由控制器進行相應(yīng)的處理。SJA1000的片選CS端接單片機的P2.7引腳,這樣SJA1000的地址就確定為7F00H~7FFFH。
選用芯片82C250作為CAN控制器和物理總線間的驅(qū)動接口,可以提供對總線的差動發(fā)送能力和對CAN控制器的差動接收能力,其最高速可達1 Mb/s。由于實際系統(tǒng)中存在干擾,故增加高速光隔6N137,以起到隔離的作用。電氣接口很簡單,有CANH和CANL兩根線,用以完成CAN的數(shù)據(jù)傳輸。在CAN總線的兩端有一個120Ω的電阻,其作用為匹配總線阻抗,用于提高數(shù)據(jù)通信的抗干擾性及可靠性。具體電路如圖2所示。
1.2 與RS 232接口
RS 232標準是美國電子工業(yè)聯(lián)合會(EIA)制定的一種串行物理接口標準,它適合于數(shù)據(jù)傳輸率在O~20 000 b/s范圍內(nèi)的通信,目前廣泛用于計算機與終端或外設(shè)之間的近端連接。實際工作時,應(yīng)保證電平在5~15V之間。所以為了與單片機進行通信。必須對其電平進行轉(zhuǎn)換?,F(xiàn)在常用的轉(zhuǎn)換芯片是MAX232。MAX232內(nèi)部有電壓倍增電路和轉(zhuǎn)換電路,只需5V電源便可實現(xiàn)TTL電平與RS 232電平的轉(zhuǎn)換,使用十分方便。串口接口電路如圖3所示。
2 接口卡的軟件設(shè)計
2.1 RS 232接口軟件設(shè)計
單片機與PC端的數(shù)據(jù)通信需要設(shè)計一個通信協(xié)議,采用同步通信方式進行。將通信協(xié)議分成命令幀、應(yīng)答幀和數(shù)據(jù)幀三種格式。每種幀都包含有起始字節(jié)、數(shù)據(jù)長度、校驗字節(jié)和幀結(jié)束字節(jié)。具體格式如圖4所示。
電容式觸摸屏相關(guān)文章:電容式觸摸屏原理
評論