基于單片機SPI器件的串口控制
摘要:集成電路設計越來(lái)越向系統級的方向發(fā)展,并且越來(lái)越強調模塊化的設計。SPI總線(xiàn)是Motorola公司提出的一個(gè)同步串行外設接口,容許CPU與各種外圍接口器件以串行方式進(jìn)行通信、交換信息。在此簡(jiǎn)述了SPI總線(xiàn)的特點(diǎn),介紹了它的四條信號線(xiàn)及SPI串行總線(xiàn)接口的典型應用。重點(diǎn)描述SPI串行總線(xiàn)接口在DA芯片中的應用,并給出用C語(yǔ)言描述實(shí)現該接口通信的部分程序。該程序已經(jīng)在A(yíng)T89C2051中進(jìn)行驗證。
關(guān)鍵詞:SPI;串口控制;AD7390;單片機
0 引 言
串行外設接口(Serial Peripheral Interface,SPI)是一種高速同步串行輸入/輸出端口,近年來(lái)廣泛應用于移位寄存器、D/A轉換器、A/D轉換器、串行E2PROM、LED顯示驅動(dòng)器等外部設備的擴展。SPI接口可以共享,便于組成帶多個(gè)SPI接口器件的系統。其傳送速率可編程,連接線(xiàn)少,具有良好的擴展性。
1 SPI接口介紹
SPI是摩托羅拉公司推出的一種同步串行通信接口,用于微處理器、微控制器和外圍擴展芯片之間的串行連接,現已發(fā)展成為一種工業(yè)標準。目前,各半導體公司推出了大量的帶有SPI接口的具有各種各樣功能的芯片,如RAM,E2PROM,FLASH ROM,A/D轉換器、D/A轉換器、LEDLCD顯示驅動(dòng)器、I/0接口芯片、實(shí)時(shí)時(shí)鐘、UART收發(fā)器等,為用戶(hù)的外圍擴展提供了極其靈活而價(jià)廉的選擇。由于SPI總線(xiàn)接口只占用微處理器四個(gè)I/O口線(xiàn),故采用SPI總線(xiàn)接口可以簡(jiǎn)化電路設計。節省很多常規電路中的接口器件和I/O口線(xiàn),提高設計的可靠性。目前,已有部分廠(chǎng)家的單片機具有SPI接口,如Philips的P89LPC900,Atmel的Atmega128等,但是,大部分單片機不支持SPI接口。在實(shí)際應用中,出于產(chǎn)品體積、成本和可擴展性等方面的考慮,設計人員往往希望使用不具備SPI接口的單片機來(lái)控制具備SPI接口的外圍器件?,F以AT89C2051單片機模擬SPI總線(xiàn)操作串行AD7390為例,如圖1所示,介紹利用單片機的I/O口通過(guò)軟件模擬SPI總線(xiàn)的實(shí)現方法。
SPI使用的四條線(xiàn)是串行時(shí)鐘線(xiàn)(SCK)、主機輸入從機輸出線(xiàn)(MISO)、主機輸出從機輸入線(xiàn)(MOSI)、低電平有效的使能信號線(xiàn)(CS)。這樣,僅需3~4根數據線(xiàn)和控制線(xiàn)即可擴展具有SPI接口的各種I/O器件。
SPI 總線(xiàn)具有以下特點(diǎn):
(1)因連線(xiàn)較少,可簡(jiǎn)化電路設計。并行總線(xiàn)擴展方法通常需要8根數據線(xiàn)、8~16根地址線(xiàn)、2~3根控制線(xiàn)。而SPI總線(xiàn)設計,僅需4根數據線(xiàn)和控制線(xiàn)即可完成并行擴展所實(shí)現的功能。
(2)器件統一編址,并與系統地址無(wú)關(guān),操作SPI獨立性好。
(3)器件操作遵循統一的規范.使系統軟硬件具有良好的通用性。
評論