隨著CAN總線技術在單片機技術上應用的不斷發展與成熟,現在很多單片機廠商紛紛將CAN控制器集成在單片機芯片上。目前,單片機內部集成的C A N 控制器有Motorola公司的C68HC912DG128A、Philips公司的P87C591、Atmel公司的AT89C51CC01和AT89C51CC02、Intel 公司的TN87C196CA和TN87C196CB等[1]。而美國Silicon Laboratories公司在原有以MCS-51內核的單片機的基礎上推出了一款具有強生命力的以CIP-51為內核的片上系統(SOC)單片機C8051FXXX系列的單片機。其中C8051F04X[2]系列單元片機在其片內嵌入了CAN20B有CAN總線控制器,這使得單片機與CAN總線的連接方式變得更為簡潔方便(傳統方式CAN總線是能過把CPU、總線控制器、和總線收發器依次連接好后再接入CAN總線網絡),同時簡化了相關CPU的CAN總線的外圍電路、提高了總線的利用率和數據的實時性。 另外,目前技術成熟的控制局域網絡(CAN)不僅僅只用于當初設計者們所考慮的汽車電子控制方面,而且還在航空、鐵路、船舶、軍工、醫療、農業機械、家用電器等領域受到設計者們和用戶的熱烈追捧。鑒于此,本文在分析、了解嵌入式單片機C8051F040內嵌的CAN模塊的特 點和工作環境要求的基礎上,為充分、有效、合理的利用其對CAN總線網絡進行數據傳輸和管理,設計了基于C8051F040的CAN控制器的硬件電路,并在Keil C51 uVsion3的編程環境下,利用C語言設計了相應的總線數據接收、發送、和管理程序。 作者:南京農業大學 袁越陽 魯植雄 陳明江 來源:單片機與嵌入式系統應用 2008 (10) |