利用C8051F020的SPI接口擴展大容量數據存儲器
引言
本文引用地址:http://dyxdggzs.com/article/173749.htm在以網(wǎng)絡(luò )通訊、軟件和微電子為主要標志的信息產(chǎn)業(yè)飛速發(fā)展的今天,以為微處理器為核心的嵌入式系統隨處可見(jiàn),這些系統應用的典型例子包括移動(dòng)電話(huà)系統、汽車(chē)的應用、家用電器、航天應用、醫療設備和國防系統等[1]。作為嵌入式系統核心部分的微處理器分為8位,16位,32位和64位四大類(lèi)。對于很大一部分應用領(lǐng)域,性能要求相對較低,而產(chǎn)品成本是最重要的考慮因素,這種情況下8位微處理器將是最佳選擇。在8位微處理器中8051芯片家族具有低成本、大范圍、易獲得和應用廣泛的特點(diǎn),是開(kāi)發(fā)嵌入式優(yōu)秀平臺。另外需要指出的是為了適應目前IC產(chǎn)業(yè)中流行的SOC(system on a chip)設計潮流,許多著(zhù)名半導體公司紛紛推出了基于8051架構的8051 SOC芯片,其中美國SILICON LAB公司的C8051Fxxx系列單片機就是一例。
在8051芯片家族的實(shí)際應用中經(jīng)常遇到的問(wèn)題是沒(méi)有足夠的數據存儲器用于支持較大的嵌入式系統。但是采用常規的擴展外部數據存儲器的方法存在一個(gè)較大的引腳資源問(wèn)題(其通常占用了18條引腳)。這對于以外部引腳數本就不多的微處理器為核心的嵌入式系統來(lái)說(shuō)是致命的。
為了解決這一矛盾,本文C8051F 單片機和AT45DB081芯片為例,以介紹了一種利用串行外設接口(SPI)擴展大容量數據存儲器的方法。
硬件簡(jiǎn)介
C8051F 系列單片機[2]是完全集成的混合信號SOC芯片,具有與8051指令集完全兼容的CIP-51內核。它在一個(gè)芯片集成了構成一個(gè)數據采集或控制系統所需的幾乎所有模擬和數字外設以及其他功能部件。這些部件包括:ADC,可編程增益放大器、DAC、電壓比較器、電壓基準、溫度傳感器、SMBus/I2C、UART、SPI、定時(shí)器、PCA、內部振蕩器、WDT和電源監視器等。各個(gè)有輸入/輸出的內部部件可以通過(guò)交叉開(kāi)關(guān)配置到I/O端口(P0、P1和P2)的外部引腳上。它內置了FLASH程序存儲器、內部RAM,部分器件內部還有一定數量的位于外部數據存儲器空間的XRAM。C8051F單片機具有片內調試電路,通過(guò)JTAG接口可以進(jìn)行非侵入式、全速的在系統調試。這種真正能獨立工作的SOC單片機使得設計體積小、功耗低、可靠性高的單片機系統變得方便。
AT45DB081[3]是ATMEL公司推出的工作電壓為2.7~3.6V、可在系統重寫(xiě)的SPI兼容的FLASH數據存儲器。它具有4096頁(yè)、每頁(yè)264字節(共計8M字節)的主存儲器容量以及2個(gè)264字節的SRAM數據緩存器。這種串聯(lián)接口FLASH存儲器十分適用于要求存儲密度高、引腳資源占用少、電源電壓低和功耗小的商業(yè)和工業(yè)應用領(lǐng)域。
硬件原理圖
C8051F單片機(以C8051F020為例)與AT45DB081的硬件原理圖見(jiàn)圖1所示。
圖1 C8051F020和AT45DB081的硬件連接原理圖
圖中將C8051F020的P0.2、P0.3和P0.4引腳通過(guò)交叉開(kāi)關(guān)配置為SPI的CLK(串行時(shí)鐘)、MISO(主出從入)和MOSI(主出從入)信號線(xiàn),分別與AT45DB081的時(shí)鐘、串行輸出和串行輸入引腳相連。將P3.0、P3.1和P3.2與AT45DB081的芯片復位、片選和忙閑狀態(tài)引腳相連。
單片機通過(guò)SPI與存儲器間啟動(dòng)一次數據傳輸的過(guò)程為先將SPI標志為SPIF清零,然后向數據寄存器SPI0DAT寫(xiě)入一個(gè)字節,當SPIF由硬件置1表示一次傳輸結束。
軟件編程
AT45DB081的操作方式及操作碼
對于A(yíng)T45DB081,共有十種操作方式,見(jiàn)表1所示。
表1 AT45DB081的操作方式及操作碼
軟件流程圖及示例
評論