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