本應(yīng)用筆記介紹了一個(gè)可免費(fèi)下載的PC程序,用于評(píng)估MAX7300和MAX7301 GPIO(端口擴(kuò)展器)。
MAX7300和MAX7301為通用28端口、通用輸入/輸出(GPIO)處理器外設(shè)。通過(guò)高速 SPI 進(jìn)行控制?(MAX7301) 或 I2C (MAX7300) 串行接口。本應(yīng)用筆記描述了一個(gè)實(shí)用程序,允許MAX7301或MAX7300驅(qū)動(dòng)器由PC控制。該實(shí)用程序可以作為獨(dú)立使用,以幫助工程師熟悉驅(qū)動(dòng)程序的寄存器和功能。此外,它還可用于在設(shè)備軟件完成之前直接控制MAX7301或MAX7300寄存器來(lái)“驗(yàn)證”應(yīng)用板原型。
要求
運(yùn)行 Windows 95、98、98SE、ME、NT、2000 或 XP 的電腦,其并行打印機(jī)端口配置為 LPT1 或 LPT2。
描述
該實(shí)用程序是一個(gè)名為MAX5的Visual Basic 7300程序.EXE它需要標(biāo)準(zhǔn)的Visual Basic運(yùn)行時(shí)庫(kù)MSVBVM50.DLL才能運(yùn)行。該程序使用 DriverLINX?免費(fèi)軟件并行端口驅(qū)動(dòng)程序 DLPortIO.DLL它提供 Win32 DLL 硬件 I/O 功能,這些功能在 Visual Basic 中不可用。Windows NT 和 2000 用戶還需要 DLPortIO.SYS 內(nèi)核模式驅(qū)動(dòng)程序。這兩個(gè)驅(qū)動(dòng)程序都是科學(xué)軟件工具公司的版權(quán)。DriverLINX 是 Scientific Software Tools, Inc. 的注冊(cè)商標(biāo)。
安裝
要安裝到Windows 95、98、98SE、ME平臺(tái),請(qǐng)下載MAX7300-01.EXE文件(812kB)。這是一個(gè) WinZIP 自解壓存檔,包含自述.txt、自述.txt、MAX7301.EXE、DLPortIO.DLL 和 MSVBVM50.DLL。默認(rèn)下載目錄為 C:MAX7300。如果已在計(jì)算機(jī)上注冊(cè)庫(kù),則可能會(huì)刪除 MSVBVM50.DLL。
要安裝到Windows NT、2000或XP平臺(tái),請(qǐng)下載MAX7300-NT.EXE文件(2.3MB)。這是一個(gè) WinZIP 自解壓存檔,包含自述.txt、自述.txt、MAX7300.EXE、PORT95NT.EXE 和 MSVBVM50.DLL。默認(rèn)下載目錄為 C:MAX7300。PORT95NT.EXE 是 DriverLINX 驅(qū)動(dòng)程序的安裝程序,用于安裝和注冊(cè) DLPortIO.DLL 庫(kù)和 DLPortIO.SYS 驅(qū)動(dòng)程序。端口95NT.EXE可以在安裝后刪除。Windows 95,98,98SE,ME用戶也可以根據(jù)需要使用此安裝程序。
將MAX7300或MAX7301連接至并行端口
此實(shí)用程序使用 3 條并行端口打印機(jī)輸出線中的 8 條來(lái)模擬 SPI 串行接動(dòng),另外 2 條輸出線來(lái)模擬 I2C 串行接動(dòng)。并行端口控制輸入線用于回讀SPI數(shù)據(jù),I2C 數(shù)據(jù)和中斷狀態(tài)。多個(gè)(最多16個(gè),菊花鏈)MAX7301和/或多個(gè)(最多16個(gè),配置不同的I)2C 地址)MAX7300可以同時(shí)工作。可以從軟件中選擇 LPT1 或 LPT2 端口。端口可以是標(biāo)準(zhǔn)、ECP 或 EPP 類型。端口連接如圖 1 所示。
圖1.MAX7300和MAX7301連接到并行端口。
該程序在啟動(dòng)時(shí)顯示3個(gè)窗口。這些是主控件、I/O 控件和端口控制窗口。啟動(dòng)時(shí)的寄存器設(shè)置反映了MAX7300和MAX7301的寄存器上電條件。
主控件如下面的圖 2 所示。“驅(qū)動(dòng)器類型”單選按鈕選擇軟件是傳輸?shù)組AX7301(使用SPI連接)還是MAX7300(使用I)。2C 連接)。
圖2.啟動(dòng)時(shí)顯示程序。
在SPI模式下,軟件控制多達(dá)16個(gè)MAX7301驅(qū)動(dòng)器。假定驅(qū)動(dòng)器是級(jí)聯(lián)的(即,第一個(gè)MAX7301的DOUT引腳連接到第二個(gè)MAX7301的DIN引腳,其DOUT引腳連接到第三個(gè)MAX7301的DIN引腳,依此類推)。MAX7301器件的總數(shù)由“驅(qū)動(dòng)器數(shù)量”滑塊設(shè)置。當(dāng)此值設(shè)置為 1 以上時(shí),“啟用全局驅(qū)動(dòng)程序?qū)懭搿焙汀皢⒂米詣?dòng)增量”復(fù)選框可用。當(dāng)“啟用全局驅(qū)動(dòng)器寫入”清除時(shí),當(dāng)選擇寫入命令時(shí),只有“當(dāng)前驅(qū)動(dòng)器”滑塊選擇的MAX7301驅(qū)動(dòng)器被寫入 - 其他驅(qū)動(dòng)器接收無(wú)操作指令。當(dāng)選中“啟用全局驅(qū)動(dòng)器寫入”時(shí),所有MAX7301驅(qū)動(dòng)器都使用相同的數(shù)據(jù)寫入。選中“啟用自動(dòng)增量”時(shí),當(dāng)前驅(qū)動(dòng)程序編號(hào)會(huì)在每次寫入操作后自動(dòng)遞增。這允許用戶快速發(fā)送一系列MAX7301驅(qū)動(dòng)器的相同數(shù)據(jù)。
SPI接口與并行端口的連接可以使用“測(cè)試流”工具進(jìn)行測(cè)試,該工具可在“端口連接和幫助...”下找到。當(dāng)程序運(yùn)行時(shí)。“測(cè)試流”功能將無(wú)操作指令連續(xù)發(fā)送到MAX7301(由“驅(qū)動(dòng)器數(shù)量”滑塊設(shè)置),允許在不影響寄存器內(nèi)容的情況下驗(yàn)證接口連接。
在我2C模式,軟件控制多達(dá)16個(gè)MAX7300驅(qū)動(dòng)器。假定第一個(gè)驅(qū)動(dòng)程序的地址設(shè)置為 1000000x,最后一個(gè)設(shè)備的后續(xù)設(shè)備的地址增加到 1001111x。例如,要訪問(wèn)地址為7300x的單個(gè)MAX1001111驅(qū)動(dòng)器,只需將“驅(qū)動(dòng)器數(shù)量”滑塊設(shè)置為16,然后將“當(dāng)前驅(qū)動(dòng)器”滑塊設(shè)置為16,地址為1001111x。I 中的主要形式2C 模式如圖 3 所示。
圖3.我2C 程序顯示。
到并行端口的I2C接口連接可以使用“測(cè)試流”功能進(jìn)行測(cè)試,該功能可以在“端口連接和幫助…”下找到當(dāng)程序正在運(yùn)行時(shí)。“測(cè)試流”功能將無(wú)操作指令連續(xù)傳輸?shù)剿蠱AX7300(由“驅(qū)動(dòng)程序數(shù)量”滑塊設(shè)置),從而在不影響寄存器內(nèi)容的情況下驗(yàn)證接口連接。
“快速串行接口”復(fù)選框設(shè)置 SPI 和 I 的串行接口速度2C 接口類型。選中后,串行接口以取決于機(jī)器的全速運(yùn)行,最高可達(dá) 1 Mb/秒;如果未選中,速度限制為最大 500 位/秒。通過(guò)很長(zhǎng)的電纜連接時(shí),速度慢可能很有用。
該程序通常僅在按下“寫入”或“讀取”按鈕時(shí)與目標(biāo)驅(qū)動(dòng)程序(或多個(gè)驅(qū)動(dòng)程序)通信。然而,程序試圖監(jiān)視假定連接到并行端口引腳13的中斷輸出引腳。這將顯示在主窗口中,并將狀態(tài)顯示為高或低。
選中“自動(dòng)更新控制”按鈕后,程序會(huì)持續(xù)輪詢所有 28 個(gè)端口輸入寄存器和中斷寄存器位。讀取速率取決于“快速串行接口”復(fù)選框的設(shè)置,并且是每秒多次(快速)或每隔許多秒(慢速)。注意:慢模式很慢!“讀取驅(qū)動(dòng)程序x”滑塊允許用戶將自動(dòng)讀取的設(shè)備設(shè)置為通過(guò)“當(dāng)前驅(qū)動(dòng)程序”控件訪問(wèn)的驅(qū)動(dòng)程序。
主窗口是退出程序的路由。退出按鈕或按主窗口上的 Esc 鍵將關(guān)閉所有 3 個(gè)窗口。在其他 2 個(gè)窗口之一中按 Esc 鍵會(huì)將用戶帶到主窗口;因此,按兩次 Esc 鍵將快速關(guān)閉程序。在關(guān)閉之前,程序?qū)⑵骷渲玫淖詈笤O(shè)置存儲(chǔ)在名為MAX7300.ini的文件中,該文件位于執(zhí)行程序的同一目錄中。沒(méi)有任何東西寫入Windows注冊(cè)表。設(shè)置包括 3 個(gè)窗口的位置和主窗口上的界面設(shè)置。如果MAX7300.ini不存在,則創(chuàng)建它;否則將被覆蓋。要恢復(fù)程序默認(rèn)設(shè)置,或者如果MAX7300.ini損壞,只需刪除MAX7300.ini文件即可。
圖 4 和圖 5 顯示了其他兩個(gè)窗口的快照。
圖4.I/O 配置窗口。
圖5.端口寄存器窗口。
審核編輯:郭婷
-
處理器
+關(guān)注
關(guān)注
68文章
19178瀏覽量
229200 -
寄存器
+關(guān)注
關(guān)注
31文章
5325瀏覽量
120052 -
SPI
+關(guān)注
關(guān)注
17文章
1701瀏覽量
91345 -
GPIO
+關(guān)注
關(guān)注
16文章
1196瀏覽量
51934
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論