關(guān) 閉

        新聞中心

        EEPW首頁 > 安全與國防 > 設(shè)計應(yīng)用 > 基于CAN總線的大容量漢字火災(zāi)樓層顯示器設(shè)計

        基于CAN總線的大容量漢字火災(zāi)樓層顯示器設(shè)計

        作者: 時間:2010-11-25 來源:網(wǎng)絡(luò) 收藏

          模塊接口協(xié)議為請求/應(yīng)答(REQ/BUSY)握手方式。應(yīng)答B(yǎng)USY高電平(BUSY =1)表示液晶模塊忙于內(nèi)部處理,不能接收用戶命令;BUSY低電平(BUSY =0)表示液晶模塊空閑,等待接收用戶命令。發(fā)送命令到液晶模塊可在BUSY =0后的任意時刻開始,先把用戶命令的當(dāng)前字節(jié)放到數(shù)據(jù)線上,接著發(fā)高電平REQ信號(REQ =1)通知液晶模塊處理當(dāng)前數(shù)據(jù)線上的命令或數(shù)據(jù)。液晶模塊在收到外部REQ高電平信號后立即讀取數(shù)據(jù)線上的命令或數(shù)據(jù),同時將應(yīng)答線BUSY 變?yōu)楦唠娖剑砻髂K已收到數(shù)據(jù)并正在忙于對此數(shù)據(jù)的內(nèi)部處理。此時用戶對模塊的寫操作已經(jīng)完成,用戶可以撤消數(shù)據(jù)線上的信號并可作模塊顯示以外的其他工作,也可不斷地查詢應(yīng)答線BUSY是否為低(BUSY=0 ?),如果BUSY=0,表明模塊對用戶的寫操作已經(jīng)執(zhí)行完畢,可以再送下一個數(shù)據(jù)。如向模塊發(fā)出一個完整的顯示漢字的命令,包括坐標(biāo)及漢字代碼在內(nèi)共需5個字節(jié)。模塊在接收到最后一個字節(jié)后才開始執(zhí)行整個命令的內(nèi)部操作,因此最后一個字節(jié)的應(yīng)答B(yǎng)USY 高電平(BUSY =1)持續(xù)時間較長。對液晶模塊寫漢字時序圖如圖4所示。

        對液晶模塊寫漢字時序圖
        圖4 對液晶模塊寫漢字時序圖

          3.4 通訊模塊設(shè)計

          我們選擇Microchip公司的MCP2510CAN控制器和Philips公司的PCA82C250CAN收發(fā)器構(gòu)建通訊模塊。 MCP2510支持CAN2.0A/B協(xié)議,可接收和發(fā)送2.0協(xié)議下的標(biāo)準(zhǔn)幀、擴(kuò)展幀和遠(yuǎn)程幀。MCP2510擁有三個發(fā)送緩沖區(qū)和兩個接收緩沖區(qū),可以進(jìn)行接收濾波和消息管理,防止過度發(fā)送和過度接收形成擁塞。其最大的優(yōu)點(diǎn)是擁有傳輸速率可達(dá)5Mb/S的SPI端口,節(jié)省MCU端口,提高通信速度。 Philips公司的82C250收發(fā)器可與MPC2510無縫連接,它有高速模式,斜率控制模式和延時模式。經(jīng)過多次的實(shí)驗證實(shí)其工作在斜率控制模式下最為穩(wěn)定,速度也能構(gòu)滿足系統(tǒng)10Kbps的傳輸速率。

        CAN總線通信電路
        圖5 CAN總線通信電路

          CAN 總線通訊模塊電路如圖5所示,單片機(jī)通過I/O口直接和MCP2510的SPI口相連,用軟件模擬實(shí)現(xiàn)SPI接口協(xié)議。PCA82C250作為 MCP2510與物理CAN總線的接口。如果需要進(jìn)一步提高系統(tǒng)的抗干擾能力,可在MCP2510和PCA82C250之間加一個光電隔離器。

        4 系統(tǒng)軟件設(shè)計

          漢字樓層顯示器軟件功能主要是1.將串口發(fā)送下來的漢字信息文件寫入存儲。2.和控制器進(jìn)行CAN通信,如果發(fā)現(xiàn)有火警信息,則查找中的漢字地址信息,予以顯示在上報警,如有多條火警信息,則滾動顯示各條信息。

        漢字樓層顯示器軟件流程圖

        圖6 漢字軟件流程圖

          圖 6是漢字軟件流程圖。用page(值為0-7)表示讀寫的頁,用count(值為0-65535)表示每頁頁內(nèi)地址。其中 page0-page6用來存儲通過串口下載的漢字信息,page7用來存儲接收到的火警等動態(tài)信息。一旦接收到新火警,即查詢FLASH中相應(yīng)的漢字信息,并在液晶上滾動顯示。

          為了快速定位所查詢的火警漢字地址信息,我們采用數(shù)組結(jié)構(gòu)存儲。盡管這樣會因為實(shí)際火警地址不等長,而造成存儲中出現(xiàn)一些空地址,存儲效率不高,但是由于我們對數(shù)組的查找是一種可以直接定位的快速查找,不用采用鏈表之類的復(fù)雜數(shù)據(jù)結(jié)構(gòu),也避免了二分檢索之類復(fù)雜的搜索算法。對于單片機(jī)而言,實(shí)質(zhì)上是以比較小的空間為代價換來了比較高的時間效率,還是十分值得的。

        5 結(jié)語

          本文提出的基于CAN總線的大容量漢字火災(zāi),較好的解決了現(xiàn)有火災(zāi)樓層顯示器的缺陷。對大于51單片機(jī)ROM 64K尋址空間的數(shù)據(jù)存儲需求,采取分頁存儲的訪問方式可以很好的解決這個問題。通過在FLASH中存儲大容量數(shù)據(jù)信息,可以避免因為CAN總線上通訊數(shù)據(jù)流量過大而導(dǎo)致火警不能及時傳達(dá),延誤報警時機(jī)。而且FLASH中的漢字信息可以通過串口在線擦寫,便于現(xiàn)場調(diào)試。目前產(chǎn)品已經(jīng)投入實(shí)用,用戶反應(yīng)運(yùn)行良好。

        參考文獻(xiàn)

          [1] 朱明,王殊.一種基于CAN總線的大型系統(tǒng)下位網(wǎng)絡(luò)的設(shè)計與實(shí)現(xiàn). 消防技術(shù)與產(chǎn)品信息,2003,(12):5~8

          [2] 王立峰,王曉平,耿慶波,彭熙偉. 基于CAN總線的客房通信控制器的設(shè)計.微計算機(jī)信息,2005,(16):3~7

          [3] 徐愛鈞,彭秀華編著. Keil Cx51 V7.0單片機(jī)高級語言編程與uVision2應(yīng)用實(shí)踐. 電子工業(yè)出版社,2004


        上一頁 1 2 下一頁

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 南川市| 信丰县| 鄯善县| 鹰潭市| 儋州市| 保定市| 化州市| 文水县| 中江县| 辽宁省| 高要市| 道孚县| 麟游县| 平山县| 来凤县| 赤壁市| 潜江市| 玉环县| 南平市| 垦利县| 根河市| 荃湾区| 昆明市| 都昌县| 讷河市| 噶尔县| 邵东县| 乐清市| 女性| 梅州市| 尤溪县| 凉山| 白城市| 工布江达县| 伊宁县| 交城县| 南丰县| 六枝特区| 本溪| 昔阳县| 于田县|