現(xiàn)場(chǎng)總線CANbus與RS-485之間透明轉(zhuǎn)換的實(shí)現(xiàn)
在未進(jìn)入轉(zhuǎn)換工作時(shí),電路允許參數(shù)設(shè)置端口的設(shè)置中斷進(jìn)入。參數(shù)設(shè)置包括:設(shè)置RS-485的通信波特率(當(dāng)然端口數(shù)據(jù)格式也可設(shè));設(shè)置CANBUS的通信波特率、接收碼(accept-code)、屏蔽字(mask-code)、發(fā)送標(biāo)示符。參數(shù)設(shè)置好后將立即生效,通過(guò)該端口還可查詢當(dāng)前電路中的各運(yùn)行參數(shù)值。電路工作的主要流程圖如圖1所示。
3 實(shí)現(xiàn)電路
圖2是一種可選的線路原理示意圖。電路中使用的單片機(jī)是ATMEL公司的AT89S8252,它是一種內(nèi)帶8K Flash RAM、2K EEPROM、同時(shí)內(nèi)嵌獨(dú)立的硬件Watchdog電路,最高工作主頻為24MHz的新型單片機(jī)。所配數(shù)據(jù)緩沖器62256為32K 字節(jié)的靜態(tài)RAM。配置較大緩沖區(qū)的明顯好處是提高了對(duì)二種不同速率總線的適應(yīng)能力。圖中RS232口是專(zhuān)用來(lái)設(shè)置二總線端口的工作參數(shù),所設(shè)參數(shù)均保存在CPU的2K EEPROM中。另外,為提高線路的可靠性,對(duì)CANBUS端采用了電隔離措施,RS-485端所使用的MAX1480也是一種內(nèi)部電隔離的芯片。圖中VCC與VCC1為相互隔離的二組5V電源。
評(píng)論