新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PIC單片機的嵌入式CAN智能節點及其與PC通信

        基于PIC單片機的嵌入式CAN智能節點及其與PC通信

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

          本文介紹了基于pic16f874單片機的嵌入式can智能節點的軟硬件設計,同時應用pcl-841 can接口卡使嵌入式can智能節點與pc之間實現了通信,完成了電壓、電流、溫度等信號的實時采集、可靠傳輸和實時顯示,實現了pc端對嵌入式can智能節點pwm波輸出的脈沖寬度的控制。

          引言

          can總線是一種串行數據通信協議,其通信接口中集成了can協議的物理層和數據鏈路層功能,可完成對數據的成幀處理。can協議的一個最大特點是廢除了傳統的站地址編碼,而代之以對通信數據塊編碼,采用這種方法可使網絡內節點個數在理論上不受限制,還可使不同的節點同時收到相同的數據。
        本文介紹了嵌入式can智能節點,并且應用pc和嵌入式can智能節點組成了can通信系統,完成了電壓、電流、溫度等信號的實時采集、可靠傳輸和實時顯示,實現了pc端對嵌入式can智能節點pwm波輸出的脈沖寬度的控制。

          基于pic單片機的嵌入式can智能節點的設計

          嵌入式can智能節點以pic16f874單片機作為嵌入式微控制器,以mcp2510作為can控制器,以pca82c250作為can收發器,具有現場/遠程控制功能。根據用戶的需求,嵌入式can智能節點通過連接相應的傳感器可以完成多種信號的實時采集、可靠傳輸和實時顯示,pwm波輸出可以用于控制相應的負載。嵌入式can智能節點通過外接電路可以實現電路保護、現場組態、自動調節、故障診斷報警、狀態檢測等功能,完成對電機、閥門、泵等電器的驅動和智能控制。

          硬件設計

          microchip公司的單片機pic16f874采用risc指令系統,哈佛總線結構,低功耗,高速度。內部集成了adc、串行外圍接口(spi)和flash程序存儲器等,具有pwm輸出、lcd驅動等功能。pic16f874通過spi接口可以實現與can控制器mcp2510的無縫連接。pic16f874的i/o資源豐富,共有a、b、c、d、e五個i/o口,每個i/o口除了基本用途外還有一些特殊功能。

          can通信模塊

          嵌入式can智能節點的can通信模塊由can控制器mcp2510和can收發器pca82c250組成。mcp2510可以完成can總線的物理層和數據鏈路層的所有功能,支持高速spi接口(最高數據傳輸速率可以達到5mb/s),支持can2.0a/can2.0b協議。can收發器pca82c250是can控制器與物理總線之間的接口,對物理總線提供差動發送能力,對can控制器提供差動接收能力,同時它可以增大通信距離,提高嵌入式can智能節點的抗干擾能力。

          pic16f874通過spi與can控制器mcp2510連接,其串行數據輸入(sdi)腳與mcp2510的so腳相連,其串行數據輸出(sdo)腳與mcp2510的si腳相連,其串行時鐘(sck)腳與mcp2510的sck腳相連。mcp2510的復位信號、片選信號由單片機a口的ra5、ra2提供,mcp2510的中斷信號、接收緩沖區滿中斷信號輸出到單片機b口的rb0、rb5。

          通過設置pic16f874的spi接口狀態寄存器和控制寄存器使spi接口工作于主動方式。pic16f874與mcp2510進行通信時的時序是非常重要的。發送數據時,先發送寫指令,再發送寄存器地址,最后發送數據。當mcp2510接收到由總線傳來的數據時會產生中斷,單片機響應中斷,讀取數據時先發送讀指令,再發送寄存器地址,數據會自動寫入單片機spi接口的緩沖器中。

          顯示模塊

          嵌入式can智能節點采用ocmj4χ8顯示模塊,該顯示模塊可以顯示漢字、ascii碼等,其所有的設置初始化工作都可以在上電時自動完成。
        ocmj4χ8顯示模塊的數據線db0~db7與單片機的d口相連,請求(req)腳、應答(busy)腳分別與單片機b口的rb4、e口的re2相連。顯示模塊的rt1、rt2引腳外接可調電阻用于調節lcd的亮度。

          顯示模塊接口協議為請求/應答(req/busy)握手方式。busy為高電平表示顯示模塊忙;當busy為低電平時表示顯示模塊空閑,等待接收命令。單片機先向顯示模塊發送命令或數據,然后發送請求信號,請求顯示模塊進行處理,顯示模塊置busy為高電平,對命令或數據進行處理,處理結束后置busy為低電平。

          模擬量獲取模塊

          pic16f874單片機a口的ra0、ra1、ra3用于模擬量輸入。嵌入式can智能節點的模擬量獲取模塊的主要功能是將需要采集的電流信號通過電流互感器轉換為電壓信號,將需要采集的溫度信號通過溫度傳感器ad590轉換為電壓信號。

          開關量輸入/輸出模塊

          嵌入式can智能節點通過i/o擴展提供了4路開關量輸入和7路開關量輸出。開關量輸入用于電路的保護、故障報警、狀態檢測等,只要被控制對象擁有相應的檢測元件,接入相應的接口即可。開關量輸出用于驅動繼電器,可以根據負載的大小確定是否需要連接接觸器控制電機、閥門、泵等電器執行元件。根據用戶的需求,此部分電路可以做相應的變化。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贵州省| 红安县| 定边县| 十堰市| 蒲城县| 应城市| 泗阳县| 米林县| 常山县| 威信县| 北宁市| 罗源县| 武城县| 孟州市| 丰顺县| 永丰县| 浙江省| 博乐市| 阿合奇县| 鄯善县| 墨玉县| 西华县| 泰州市| 新和县| 城口县| 五大连池市| 永嘉县| 荣昌县| 绥棱县| 江川县| 蚌埠市| 华宁县| 叶城县| 贵溪市| 花莲市| 吴桥县| 民县| 张家口市| 奉新县| 福鼎市| 永新县|