隨著電子設計技術的進步和芯片制造工藝水平的提高,16位和32位單片機的使用越來越廣泛,但是8位單片機因其制造工藝成熟、價格低廉等特點,仍然在市場上占有相當大的比例,尤其在成本敏感和可靠性要求極高的汽車電子領域,更占用絕對優勢,帶有外部總線的8位單片機,可以方便地與8位總線設備(如A/D、RAM和CAN總線)相連。隨著對傳輸性能要求的提高,出現了大量的16位總線設備(如網絡接口芯片),8位單片機要與16位總線設備相連接,通常的做法是利用I/O端口來模擬16位總線的讀/寫時序,數據傳輸速率較低,且原有的8位設備的傳輸速率也隨之降低,因而限制了8位單片機的使用范圍,本文提出一種8位單片機擴展16為外部總線的方法,不影響原有8位器件的前提下,可實現對16位總線設備的高速存取;最后,介紹了如何利用該方法與IDE硬盤相連接,并應用于車載數據采集系統。 1 8位/16位總線時序分析 1.1 8位單片機總線時序 帶有外部總線的8位單片機有很多,如51系列,AVR系列等,本文以W77E58為例,W77E58是Winbond公司推出的增強型51單片機,工作時鐘最高為40M赫茲,在同樣的時鐘頻率下,W77E58指令速度是傳統51單片機的3倍;另外,W77E58對程序存儲器和數據存儲器的尋址能力都為64KB。圖1中上半部分為讀時序,下半部分為寫時序。 以讀數據為例,P0、P2口輸出當前地址,ALE的下降沿鎖存低8位地址,高8位保持不變;而后,讀信號RD使能(低電平),外部設備把數據送到P0口,RD的上升沿把數據讀入單片機。寫數據與此類似,不過數據方向相反,同時為保證數據能夠正確寫入外部設備,單片機在寫信號WR使能前把數據送到P0口,WR無效后須保持一定時間,從圖1中可以看出,單片機用P0口存取8位數據,P2口僅用于地址輸出。 1.2 IDE硬盤總線時序 下面以IDE硬盤為例來分析16位總線時序,圖2是IDE硬盤的接口示意圖,只標出了與總線有關的信號線:DIOR/DIOW,讀/寫;DCS0/DCS1,片選;DD0-DD15,16位數據線;DA0-DA2,3位地址線。
4 小結 本設計在8位單片機上實現了16位外部總線,可對16位設備進行高速存取,并且保留了原8位總線的功能,這種8位/16位總線共存的方式,較之端口模擬總線方式,極大地提高了數據的傳輸速率,該16位總線擴展方式已成功應用于車載數據采集系統,在汽車的道路可靠性試驗中,安裝了多套該系統,試驗結果表明,該系統使用方便,工作穩定、可靠,數據傳輸率高、完全滿足汽車動態采集數據的需要,該16位總線的擴展方式,可應用于具有8位外部總線的單片機,在一定程度上,擴大了該類單片機的使用范圍。 |