A/D轉(zhuǎn)換器CS5550與單片機(jī)的接口程序設(shè)計(jì)
從圖3及其數(shù)據(jù)手冊(cè)中的相關(guān)說明可知。CS5550讀取SDI線上的命令發(fā)生在SCK的上升沿,而其會(huì)在SCK下降沿發(fā)生后20 ns(典型值)之內(nèi)將下一位數(shù)據(jù)發(fā)送到SDO線上。根據(jù)以上分析,可以得到圖4所示的SPI接口函數(shù)編寫流程。本文引用地址:http://cafeforensic.com/article/173394.htm
若仍以實(shí)現(xiàn)CS5550單次轉(zhuǎn)換、單片機(jī)讀取其數(shù)據(jù)寄存器為例,則CS5550的采集函數(shù)編寫流程圖與第3部分中的圖2相同,只需要利用這個(gè)軟件模擬的SPI接口函數(shù)替換前面流程中對(duì)SPDR寄存器的讀寫即可。
4 硬件設(shè)計(jì)與軟件模擬SPI接口的比較
從上述討論看出,硬件SPI接口的工作獨(dú)立于CPU內(nèi)核,這使得SPI數(shù)據(jù)的收發(fā)與CPU內(nèi)核運(yùn)算并行執(zhí)行,提高單片機(jī)的工作效率。由于數(shù)據(jù)的收發(fā)完全由硬件完成,軟件的編寫不涉及具體收發(fā)細(xì)節(jié),程序簡單、速度快。而采用軟件模擬實(shí)現(xiàn)SPI接口的方法則具有端口定義靈活、使用方便的特點(diǎn)??梢栽诓辉黾佑布杀镜那闆r下,給不含SPI接口的單片機(jī)增加SPI通信功能。但軟件模擬SPI需要占用CPU處理時(shí)間,故一般只在通信數(shù)據(jù)量不太大的情況下使用。
5 結(jié)束語
模數(shù)轉(zhuǎn)換器和單片機(jī)在智能化儀表的應(yīng)用廣泛,本文討論的CS5550與單片機(jī)的兩種接口方式具有普遍意義,對(duì)其他類似的設(shè)計(jì)提供參考。目前,以上兩種方法均已被應(yīng)用到某基于CS5550的工業(yè)測溫儀表中,取得較好效果。
評(píng)論