MAX1441與觸摸屏傳感器的SPI接口設(shè)計(jì)指南
MAX1441的SPI接口固件為獨(dú)立的程序單元,包含初始化程序,用于設(shè)定MAX1441寄存器的初始值(包括范圍、轉(zhuǎn)換速率、激勵(lì)頻率),程序需要通過(guò)USB/JTAG口裝載到MAX1441,這是唯一需要固化到閃存內(nèi)的程序,供嵌入式內(nèi)核運(yùn)行。
CMAXQUSB+控制器板用于連接MAX1441評(píng)估板(MAX1441EVSYS+)與計(jì)算機(jī),可從Maxim的網(wǎng)站下載驅(qū)動(dòng)程序,請(qǐng)選擇與操作系統(tǒng)相匹配的USB驅(qū)動(dòng)程序。
圖1給出了系統(tǒng)各部件之間的連接,可以利用另一USB口提供電源,用于主板上MAX1441的供電。用戶接口程序位于PC機(jī),用戶可通過(guò)MAX1441控制臺(tái)(MAX1441_Console)的命令窗口方便地操作MAX1441的通信。MAX1441與CMAXQUSB+板之間的通信速率固定為31.25kHz。
圖1. 硬件系統(tǒng)框圖
硬件安裝
確認(rèn)MAX1441評(píng)估板的JU105位于2–3。
將SPI接口程序Interface_Rxx裝載到MAX1441閃存(使用MAX-IDE或類似工具)。
移除跳線JU120至JU124。
用電纜連接CAMXQUSB接口板和MAX1441評(píng)估板。
通過(guò)外部電源或USB為MAX1441評(píng)估板供電:
a.如果通過(guò)USB口供電,則需要2條USB電纜:一個(gè)用于CMAXQUSB板的供電和通信,另一個(gè)用于MAX1441供電。
b.如果通過(guò)外部電源供電,請(qǐng)將跳線JU4置于2–3位置,電源電壓在6V至28V之間。
利用USB電纜連接CMAXQUSB+接口板和PC。
運(yùn)行MAX1441_Console.exe程序。
圖4給出了MAX1441EVSYS+和CMAXQUSB板之間的引腳連接。
注:進(jìn)行SPI接口操作之前,必須首先去除MAX1441評(píng)估板上的跳線JU120、JU121、JU122、JU123和JU124。
MAX1441_Console控制臺(tái)程序的使用
一旦SPI接口固件寫(xiě)入MAX1441閃存,并且建立了SPI通信的硬件連接,啟動(dòng)MAX1441_Console.exe程序,即可通過(guò)讀、寫(xiě)命令修改并查詢MAX1441內(nèi)部寄存器的狀態(tài),表1列出了可供使用的MAX1441_Console命令。
寫(xiě)入一個(gè)內(nèi)部寄存器時(shí),必須先發(fā)送寫(xiě)命令“w”;同樣,讀取一個(gè)內(nèi)部寄存器時(shí),也必須先發(fā)出讀命令“r”,大小寫(xiě)均可。除了上表列出的指令以外,其它命令都會(huì)在MAX1441_Console窗口產(chǎn)生錯(cuò)誤消息,而且不會(huì)產(chǎn)生任何操作。MAX1441_Console向CMAXQUSB板每發(fā)送一次讀/寫(xiě)命令,MAX1441EVSYS板的片選(CS)線就會(huì)重復(fù)一次低電平/高電平循環(huán),片選周期取決于所請(qǐng)求的數(shù)據(jù)點(diǎn)數(shù)。
圖2. MAX1441_Console窗口
寫(xiě)命令
寫(xiě)命令格式為w Address Value,此處Address是表2給出的寄存器地址,Value是需要寫(xiě)入Address指定寄存器的內(nèi)容。例如,命令w 5 2把“2”寫(xiě)入C01寄存器,Value為hex格式。
讀命令
讀命令格式為r Address #ofData #ofCS-cycles,此處Address是要讀取的寄存器地址,#ofData為一個(gè)CS周期對(duì)Address指定寄存器的讀取次數(shù),#ofCS-cycles為CS的循環(huán)次數(shù)。
在一個(gè)CS周期中,最多可以對(duì)MAX1441進(jìn)行62次的16位數(shù)據(jù)讀取,每讀取一次16位數(shù)據(jù)需要大約600?s的時(shí)間。每個(gè)命令最多規(guī)定1000次CS循環(huán)。參數(shù)#ofData和#ofCS-cycles適用于所有寄存器,不過(guò),CRSLT1H、CRSLT1L、CRSLT2H和CRSLT2L等寄存器使用比較頻繁。delay命令用來(lái)檢測(cè)MAX1441的長(zhǎng)期工作性能,在delay命令中規(guī)定的value值(秒數(shù))在每次CS循環(huán)后有效。對(duì)讀命令的響應(yīng)格式為T(mén)ime,data#, cycle#, Data,此處Time為測(cè)試開(kāi)始之后的秒數(shù),data#是對(duì)應(yīng)于#ofData的計(jì)數(shù)器,cycle#是對(duì)應(yīng)于#ofCS-cycle的計(jì)數(shù)器。表2列出了可以通過(guò)MAX1441_Console讀/寫(xiě)的寄存器及對(duì)應(yīng)地址,請(qǐng)參閱MAX1441數(shù)據(jù)資料獲得各寄存器的詳細(xì)定義和功能。
“??”表示任何非法地址,合法地址可以是十進(jìn)制(DEC)或十六進(jìn)制格式(HEX)。
對(duì)任何非法地址(例如“ab”),命令將返回前次數(shù)值。0xab是非法地址,返回值為0xABAB。
將數(shù)據(jù)存入文件
通過(guò)接口傳輸?shù)乃袃?nèi)容都可以保存到.txt日志文件。發(fā)送logfile on命令,將數(shù)據(jù)存入文件,發(fā)送logfile off命令終止數(shù)據(jù)保存。創(chuàng)建日志文件名為“MAX1441.txt”,每次發(fā)送logfile on命令時(shí)被清除。例如,圖4是命令r 0 3 4的日志文件內(nèi)容。要避免日志中的有用數(shù)據(jù)被覆蓋,可以在發(fā)送新的logfile on命令前更改日志文件的名稱。
圖3. 日志文件示例
圖4. MAX1441EVKIT與CMAXQUSB板之間的接口