基于CAN總線的大容量漢字火災(zāi)樓層顯示器報(bào)警系統(tǒng)方案設(shè)計(jì)
3.3漢字液晶顯示模塊設(shè)計(jì)本文引用地址:http://www.ex-cimer.com/article/160410.htm
我們選用金鵬電子公司的OJM2*8A漢字液晶模塊作為顯示設(shè)備。OJM2*8A中文液晶顯示模塊內(nèi)含GB 2312的15*15點(diǎn)陣國(guó)標(biāo)一、二級(jí)簡(jiǎn)體漢字和 8*8點(diǎn)陣及8*16點(diǎn)陣ASCII字符,用戶輸入GB2312區(qū)位碼或ASCII碼即可實(shí)現(xiàn)文本顯示。每個(gè)漢字的區(qū)位碼只占用兩個(gè)字節(jié),是原來漢字點(diǎn)陣所需存儲(chǔ)單元的1/16。
漢字液晶模塊接口協(xié)議為請(qǐng)求/應(yīng)答(REQ/BUSY)握手方式。應(yīng)答B(yǎng)USY高電平(BUSY =1)表示液晶模塊忙于內(nèi)部處理,不能接收用戶命令;BUSY低電平(BUSY =0)表示液晶模塊空閑,等待接收用戶命令。發(fā)送命令到液晶模塊可在BUSY =0后的任意時(shí)刻開始,先把用戶命令的當(dāng)前字節(jié)放到數(shù)據(jù)線上,接著發(fā)高電平REQ信號(hào)(REQ =1)通知液晶模塊處理當(dāng)前數(shù)據(jù)線上的命令或數(shù)據(jù)。液晶模塊在收到外部REQ高電平信號(hào)后立即讀取數(shù)據(jù)線上的命令或數(shù)據(jù),同時(shí)將應(yīng)答線BUSY 變?yōu)楦唠娖?,表明模塊已收到數(shù)據(jù)并正在忙于對(duì)此數(shù)據(jù)的內(nèi)部處理。此時(shí)用戶對(duì)模塊的寫操作已經(jīng)完成,用戶可以撤消數(shù)據(jù)線上的信號(hào)并可作模塊顯示以外的其他工作,也可不斷地查詢應(yīng)答線BUSY是否為低(BUSY=0 ?),如果BUSY=0,表明模塊對(duì)用戶的寫操作已經(jīng)執(zhí)行完畢,可以再送下一個(gè)數(shù)據(jù)。如向模塊發(fā)出一個(gè)完整的顯示漢字的命令,包括坐標(biāo)及漢字代碼在內(nèi)共需5個(gè)字節(jié)。模塊在接收到最后一個(gè)字節(jié)后才開始執(zhí)行整個(gè)命令的內(nèi)部操作,因此最后一個(gè)字節(jié)的應(yīng)答B(yǎng)USY 高電平(BUSY =1)持續(xù)時(shí)間較長(zhǎng)。對(duì)液晶模塊寫漢字時(shí)序圖如圖4所示。
圖4 對(duì)液晶模塊寫漢字時(shí)序圖
我們選擇Microchip公司的MCP2510CAN控制器和Philips公司的PCA82C250CAN收發(fā)器構(gòu)建CAN總線通訊模塊。 MCP2510支持CAN2.0A/B協(xié)議,可接收和發(fā)送2.0協(xié)議下的標(biāo)準(zhǔn)幀、擴(kuò)展幀和遠(yuǎn)程幀。MCP2510擁有三個(gè)發(fā)送緩沖區(qū)和兩個(gè)接收緩沖區(qū),可以進(jìn)行接收濾波和消息管理,防止過度發(fā)送和過度接收形成擁塞。其最大的優(yōu)點(diǎn)是擁有傳輸速率可達(dá)5Mb/S的SPI端口,節(jié)省MCU端口,提高通信速度。 Philips公司的82C250CAN總線收發(fā)器可與MPC2510無縫連接,它有高速模式,斜率控制模式和延時(shí)模式。經(jīng)過多次的實(shí)驗(yàn)證實(shí)其工作在斜率控制模式下最為穩(wěn)定,速度也能構(gòu)滿足系統(tǒng)10Kbps的傳輸速率。
圖5 CAN總線通信電路
CAN 總線通訊模塊電路如圖5所示,單片機(jī)通過I/O口直接和MCP2510的SPI口相連,用軟件模擬實(shí)現(xiàn)SPI接口協(xié)議。PCA82C250作為 MCP2510與物理CAN總線的接口。如果需要進(jìn)一步提高系統(tǒng)的抗干擾能力,可在MCP2510和PCA82C250之間加一個(gè)光電隔離器。
評(píng)論