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