電子鼠步徑電機控制----------------------
上傳時間: 2013-12-27
上傳用戶:qw12
CWT5000系列工業短信報警控制器,專門針對需要無人值守和遠程控制要求的工控現場而設計,他采用工業級的GSM收發模塊和高性能32位處理器,內嵌實時操作系統,集I/O控制和RS232數據接口為一體,只需把該產品與被監控的終端工控設備、電氣設備連接,用戶只需設置幾個簡單參數,就可以通過自己的手機實現對終端設備遠程的數據測量、控制、數據的傳輸及設備異常報警等遠程控制功能,在不改變原有設備的設計結構的條件下,輕松實現從有線到遠程無線的跨躍。
上傳時間: 2013-10-25
上傳用戶:a296386173
——國際CE認證 ——國際船舶認證 ——德國技術合作 ——國際認可的中國品牌! ◆中國-五工W4GD高壓大功率變頻控制系統——節能,穩壓,精度高,現場總線CPU、I/O控制技術,拒內對外干擾、抗外對內干擾能力強。
上傳時間: 2013-11-25
上傳用戶:佳期如夢
PIC流水燈控制-匯編,需要說明的是剛剛我上傳的那個應該是5個I/O控制16個按鍵的PIC控制程序,而我不知道該怎么去修改正確過來
上傳時間: 2017-05-13
上傳用戶:lht618
在慣性導航系統中,捷聯式慣性導航系統以其體積小、成本低和可靠性高等優點正逐步取代平臺式慣性導航系統,成為慣性導航系統的發展趨勢。 為了適應捷聯慣性導航系統小型化、低成本和高性能的發展方向,本文設計了DSP與FPGA相結合的系統方案:系統采用MEMS器件和高性能A/D轉換器構成慣性信號檢測單元,FPGA進行I/O控制,DSP完成導航計算。方案綜合考慮了系統成本、計算速度、精度、體積等各方面的因素,并通過GPS、磁航向計等信息融合進一步提高導航精度。 數據采集是捷聯慣導系統設計的關鍵,本文數據采集由信號調理、A/D轉換和。FPGA等幾部分組成。其中,FPGA是整個數據采集部分的核心,其主要功能包括:實現了ADC控制邏輯和時序生成;配置了FIFO寄存器,緩沖了ADC與DSP之間的轉換數據;擴展了UART串口,以實現系統的外部信息接口。在完成電路設計的基礎上,對各功能模塊進行了全面的半實物仿真,驗證了系統方案及各主要功能模塊的可行性。 論文簡述了慣性導航系統的應用背景及發展狀況,介紹了捷聯慣導系統的基本原理,設計了基于DSP/FPGA的捷聯慣導系統方案,實現了系統各部分硬件電路以及FPGA功能模塊,并通過搭建硬件驗證平臺和利用第三方仿真軟件,對傳感器的性能以及FPGA各功能模塊進行了較全面的驗證和仿真。結果表明:基于DSP/FPGA的捷聯慣導系統能夠滿足應用的要求,并在小型化、低成本和高性能等方面有一定的優勢。
上傳時間: 2013-04-24
上傳用戶:1966640071
有兩種方式可以讓設備和應用程序之間聯系:1. 通過為設備創建的一個符號鏈;2. 通過輸出到一個接口WDM驅動程序建議使用輸出到一個接口而不推薦使用創建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創建一個惟一的、獨立于語言的訪問設備的方法。一個應用程序使用Win32APIs來調用設備。在某個Win32 APIs和設備對象的分發函數之間存在一個映射關系。獲得對設備對象訪問的第一步就是打開一個設備對象的句柄。 用符號鏈打開一個設備的句柄為了打開一個設備,應用程序需要使用CreateFile。如果該設備有一個符號鏈出口,應用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3", GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統本調用希望打開一個設備。這個設備必須有一個符號鏈,以便應用程序能夠打開它。有關細節查看有關Kdevice和CreateLink的內容。在上述調用中第一個參數中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數不是Windows 98/2000中驅動程序(.sys文件)的路徑。是到設備對象的符號鏈。如果使用DriverWizard產生驅動程序,它通常使用類KunitizedName來構成設備的符號鏈。這意味著符號鏈名有一個附加的數字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應用程序需要被覆蓋的I/O,第六個參數(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設備信息集,該信息集包含了特殊類中的所有設備接口信息。應用程序能有用CdeviceInterfaceClass類的一個實例來獲得一個或更多的CdeviceInterface類的實例。CdeviceInterface類是一個單一設備接口的抽象。它的成員函數DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設備。下面用一個小例子來顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface( GUID* pClassGuid, DWORD instance, PDWORD pError){ CDeviceInterfaceClass DevClass(pClassGuid, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; CDeviceInterface DevInterface(&DevClass, instance, pError); if (*pError != ERROR_SUCCESS) return INVALID_HANDLE_VALUE; cout << "The device path is " << DevInterface.DevicePath() << endl; HANDLE hDev; hDev = CreateFile( DevInterface.DevicePath(), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL ); if (hDev == INVALID_HANDLE_VALUE) *pError = GetLastError(); return hDev;} 在設備中執行I/O操作一旦應用程序獲得一個有效的設備句柄,它就能使用Win32 APIs來產生到設備對象的IRPs。下面的表顯示了這種對應關系。Win32 API DRIVER_FUNCTION_xxxIRP_MJ_xxx KDevice subclass member function CreateFile CREATE Create ReadFile READ Read WriteFile WRITE Write DeviceIoControl DEVICE_CONTROL DeviceControl CloseHandle CLOSECLEANUP CloseCleanUp 需要解釋一下設備類成員的Close和CleanUp:CreateFile使內核為設備創建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調用CleanUp。當沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調用Close。如果被打開的設備不支持指定的功能,則調用相應的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應用程序代碼中可能會在打開設備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因為它將導致沒有特權的用戶企圖打開這個設備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數轉換成IRP域的方法依賴于設備對象的屬性。當設備設置DO_DIRECT_IO標志,I/O管理器將buff鎖住在存儲器中,并且創建了一個存儲在IRP中的MDL域。一個設備可以通過調用Kirp::Mdl來存取MDL。當設備設置DO_BUFFERED_IO標志,設備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或寫操作獲得buff地址。當設備不設置DO_BUFFERED_IO標志也不設置DO_DIRECT_IO,內核設置IRP 的UserBuffer域來對應ReadFile或WriteFile中的buff參數。然而,存儲區并沒有被鎖住而且地址只對調用進程有效。驅動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調用,buffer參數的轉換依賴于特殊的I/O控制代碼,它不在設備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構造控制代碼。這個宏的其中一個參數指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數:Method Input Buffer Parameter Output Buffer Parameter METHOD_BUFFERED KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統分配一個單一的緩沖來作為輸入與輸出。驅動程序必須在向輸出緩沖放數據之前拷貝輸入數據。驅動程序通過調用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統緩沖拷貝數據到提供給Ring 3級調用者使用的緩沖中。驅動程序必須在結束前存儲拷貝到IRP的Information成員中的數據個數。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數呈現不同的含義。參數InputBuffer被拷貝到一個系統緩沖,這個緩沖驅動程序可以通過調用KIrp::IoctlBuffer。參數OutputBuffer被映射到KMemory對象,驅動程序對這個對象的訪問通過調用KIrp::Mdl來實現。對于METHOD_OUT_DIRECT,調用者必須有對緩沖的寫訪問權限。注意,對METHOD_NEITHER,內核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調用進程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現在使用一個DeviceIoControl調用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING, NULL, // no input 注意,這里放的是包含有執行操作命令的字符串指針 0, FirmwareRev, //這里是output串指針,存放從驅動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize, NULL // not overlapped I/O );如果輸出緩沖足夠大,設備拷貝串到里面并將拷貝的資結束設置到FirmwareRevSize中。在驅動程序中,代碼看起來如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){ ULONG fwLength=0; switch ( I.IoctlCode() ) { case IOCTL_MYDEV_GET_FIRMWARE_REV: fwLength = strlen(FIRMWARE_REV)+1; if (I.IoctlOutputBufferSize() >= fwLength) { strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV); I.Information() = fwLength; return I.Complete(STATUS_SUCCESS); } else { } case . . . } }
上傳時間: 2013-10-17
上傳用戶:gai928943
CWT5000系列工業短信報警控制器,專門針對需要無人值守和遠程控制要求的工控現場而設計,他采用工業級的GSM收發模塊和高性能32位處理器,內嵌實時操作系統,集I/O控制和RS232數據接口為一體,只需把該產品與被監控的終端工控設備、電氣設備連接,用戶只需設置幾個簡單參數,就可以通過自己的手機實現對終端設備遠程的數據測量、控制、數據的傳輸及設備異常報警等遠程控制功能,在不改變原有設備的設計結構的條件下,輕松實現從有線到遠程無線的跨躍。
上傳時間: 2013-11-03
上傳用戶:開懷常笑
人機界面(HMI),也稱為用戶界面、操作面板或終端,提供了一種控制、監視、管理和/或顯示設備流程的一種手段。操作面板作為一個樣例,能夠使工業機器操作員以一種圖形化、可視化的方式與機器進行交互。通過以圖形化的方式顯示在屏幕上的控制及讀數,操作員就能夠使用外部按鈕或觸摸屏來控制機器。HMI的范圍從簡單的分段顯示器到高清晰度的液晶面板,可被安置在機器、電池供電的便攜式手持設備上,或是中央控制室中。它們用于機器與過程控制,將傳感器、執行器及位于工廠車間的機器與I/O控制及PLC應用系統連接了起來。
上傳時間: 2014-12-06
上傳用戶:909000580
低空測試儀試驗需要把整個測試儀作為吊艙掛在直升機下工作,能適應各種惡劣的自然條件,用于某飛行部件地海雜波環境下的測試。以PC104嵌入式計算機為硬件平臺,標準C++為開發工具,針對低空測試儀數據采集需求開發了測控程序。通過電平I\O控制電源板給各信號加電時序,A\D卡實時采集信號,高度表通過串口回傳高度數據。著重介紹了低空測試儀的軟硬系統設計方案,給出了一組測試數據,驗證了測控程序的有效性。現場應用表明,該系統具有設計合理,操作簡便,測試準確的特點,達到了設計要求。
上傳時間: 2013-10-11
上傳用戶:hphh
動態掃描顯示接口 動態掃描顯示接口是單片機中應用最為廣泛的一種顯示方式之一。其接口電路是把所有顯示器的8個筆劃段a-h同名端連在一起,而每一個顯示器的公共極COM是各自獨立地受I/O線控制。CPU向字段輸出口送出字形碼時,所有顯示器接收到相同的字形碼,但究竟是那個顯示器亮,則取決于COM端,而這一端是由I/O控制的,所以我們就可以自行決定何時顯示哪一位了。而所謂動態掃描就是指我們采用分時的方法,輪流控制各個顯示器的COM端,使各個顯示器輪流點亮。
上傳時間: 2015-06-03
上傳用戶:磊子226