新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > CAN轉RS232接口卡的設計方案

        CAN轉RS232接口卡的設計方案

        作者: 時間:2011-12-30 來源:網絡 收藏

        控制器局域網(Controller Area Network,)屬于現場總線的范疇,其總線規范已被ISO國際標準化組織制定為國際標準,并被公認為是最有前途的現場總線之一。總線廣泛應用于控制系統中的各檢測和執行機構之間的數據通信。因為總線數據的傳輸和處理都由節點的單片機完成。這樣就使者和觀察者沒有辦法以比較直觀的方式掌握總線的運行情況。

        本文引用地址:http://www.104case.com/article/155383.htm

        現在市場上主要有兩種CAN的,使用PCI總線和使用USB接口。前者具有傳輸速度快的特點,但卻要占用一個計算機的插槽,并且上十分困難;后者的傳輸速度也很快,且價格較便宜,但要花費很大的精力進行USB的固件開發和維護,并要編寫復雜的驅動程序。根據此,需要一種能夠方便讀取CAN總線數據,并通過RS 232串行口將數據送給PC機處理和顯示的;此外還需對其串行傳輸的協議進行加強,以使能有效地降低傳輸過程中出現的錯誤。

          1 的硬件設計

          硬件部分主要包括主控制器、CAN總線控制器、CAN總線收發器以及與計算機的RS 232通信接口芯片等。系統的總體結構如圖1所示。主控制器通過CAN總線接口接收和緩存數據。根據PC機的命令進行選擇性的數據傳輸。

        系統的總體結構

          1.1 與CAN總線接口

          如圖2所示,接口卡的控制器選用Atmel公司的AT89S51,該單片機的引腳和功能與8051兼容,并且內部含有4 KB的FLASH ROM,支持在系統編程(ISP),這樣可以很方便地將應用程序下載到單片機里。

        接口卡的控制器

          CAN總線控制器選用Philips公司生產的SJA1000,該芯片是PCA82C200CAN控制器的替代品,而且新增加了一種PeliCAN工作模式,能夠支持CAN 2.0B協議。它還支持錯誤中斷、報警限制、驗收濾波器擴展和自接收請求等功能。在系統中,將SJA1000的中斷輸出引腳INT接到單片機的中斷輸入引腳,這樣可以在接收數據或者總線錯誤時產生中斷,由控制器進行相應的處理。SJA1000的片選CS端接單片機的P2.7引腳,這樣SJA1000的地址就確定為7F00H~7FFFH。

          選用芯片82C250作為CAN控制器和物理總線間的驅動接口,可以提供對總線的差動發送能力和對CAN控制器的差動接收能力,其最高速可達1 Mb/s。由于實際系統中存在干擾,故增加高速光隔6N137,以起到隔離的作用。電氣接口很簡單,有CANH和CANL兩根線,用以完成CAN的數據傳輸。在CAN總線的兩端有一個120Ω的電阻,其作用為匹配總線阻抗,用于提高數據通信的抗干擾性及可靠性。具體電路如圖2所示。

          1.2 與RS 232接口

          RS 232標準是美國電子工業聯合會(EIA)制定的一種串行物理接口標準,它適合于數據傳輸率在O~20 000 b/s范圍內的通信,目前廣泛用于計算機與終端或外設之間的近端連接。實際工作時,應保證電平在5~15V之間。所以為了與單片機進行通信。必須對其電平進行轉換。現在常用的轉換芯片是MAX232。MAX232內部有電壓倍增電路和轉換電路,只需5V電源便可實現TTL電平與RS 232電平的轉換,使用十分方便。串口接口電路如圖3所示。

        串口接口電路

          2 接口卡的軟件設計

          2.1 RS 232接口軟件設計

          單片機與PC端的數據通信需要設計一個通信協議,采用同步通信方式進行。將通信協議分成命令幀、應答幀和數據幀三種格式。每種幀都包含有起始字節、數據長度、校驗字節和幀結束字節。具體格式如圖4所示。

        通信協議

        電容式觸摸屏相關文章:電容式觸摸屏原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 安顺市| 南通市| 绩溪县| 泸溪县| 彰化县| 江北区| 利川市| 原平市| 博兴县| 博罗县| 绥德县| 普兰店市| 梧州市| 定州市| 凌海市| 津市市| 通城县| 中山市| 铅山县| 岳西县| 上虞市| 清水河县| 武安市| 紫阳县| 苍溪县| 崇明县| 买车| 普兰县| 沙坪坝区| 偏关县| 凤山县| 武乡县| 衡山县| 东城区| 石城县| 桂阳县| 古浪县| 视频| 江西省| 琼海市| 定日县|