利用單片機MSP430F449設計寬帶直流放大器。采用單片機MSP430F449作為寬帶直流放大器的控制芯片,利用三級放大器級聯的形式實現對輸入小信號的放大。其中MSP430F449 單片機來控制雙路數模轉換器TLV5638實現AD603的程控增益調節和整體后級放大模塊引入的直流的軟件補償,并利用OPA847作為固定增益放大器。通過實驗數據證明整個系統輸出穩定,性能良好。該系統具有可行性和實用性。
上傳時間: 2013-11-07
上傳用戶:xinzhch
闡述了雙電源轉換開關的定義、分類、結構形式、標準、雙投式轉換開關的形式、主要性能指標及其適用場所,并剖析了轉換開關與控制器的相互依存關系,及選型、應用的技術要點。
上傳時間: 2013-11-19
上傳用戶:gut1234567
觸摸開關電路也叫觸摸式調光、開關控制電路,主要用于生活中白熾燈光的控制。它與一個主要由雙向可控硅組成的外圍電路一起對光源進行調光、開關的觸摸式控制,并具有記憶功能。擺脫了傳統的機械撥動開關、電位器調光的形式,是一種新穎的升級換代產品。電路由輸入緩沖器、鎖相環、控制邏輯、亮度記憶、相角指針、數字比較器和輸出驅動器組成。其框圖見圖1
上傳時間: 2013-11-11
上傳用戶:tiantwo
本文針對6KV中壓電網三相平衡負載的無功功率補償,結合二極管箝位多電平逆變器和H橋級聯多電平逆變器的特點,提出了一種能夠直接并入電網的新型主從式的逆變器結構:主逆變器采用二極管箝位三電平逆變器,從逆變器采用三個H橋(即全橋)逆變器。主逆變器和H橋逆變器采用級聯的形式連接,最后構成一個五電平的混聯逆變器。從逆變器負責產生一個方波電壓,構成輸礎正弦電壓的基本成分:主逆變器產生輸出電壓的補償部分以及負責消除低次諧波。對于主逆變器直流側電容電壓的平衡問題,本文提出了一種采用硬件電路平衡的方法,從而降低了PWM調制時控制方法的復雜性。因為集成門極換相晶閘管(IGCT)這種新型電力電子器件具有開關頻率高、無緩沖電路、耐壓高等優點,主電路選用IGCT作為開關器件。本文詳細分析了用于STATCOM的主從型逆變器電路結構,同時給出了電路參數的確定方法,并對STATCOM逆變器輸出電壓的諧波進行了理論分析。根據本文提出的主從型逆交器結構特點,建立了基于瞬時無功理論的STATCOM系統動態控制模型,并給出了一種解藕反饋控制方法。最后通過仿真結果證明了所提出的這種主從型逆變器STA’rC0^I結構在消除諧波方面的優越性。
上傳時間: 2013-10-31
上傳用戶:frank1234
摘要:鍵盤擔負著向系統發出命令和查詢系統工作狀態的重任。由于各種單片機所提供的片內外資源不同,所以在進行鍵盤擴展時其硬件電路的形式也多種多樣。文中介紹了利用單片機內部的A/D轉換通道、并行口以及片外擴展芯片等方法擴展鍵盤的硬件電路及電路工作原理,并給出了部分程序。關鍵詞:單片機;鍵盤;A/D轉換;并行口;串行口
上傳時間: 2013-11-15
上傳用戶:kang1923
單片機在鍵盤上的應用 鍵盤擔負著向系統發出命令和查詢系統工作狀態的重任。由于各種單片機所提供的片內外資源不同,所以在進行鍵盤擴展時其硬件電路的形式也多種多樣。文中介紹了利用單片機內部的A /D轉換通道、并行口以及片外擴展芯片等方法擴展鍵盤的硬件電路及電路工作原理,并給出了部分程序。
上傳時間: 2013-11-11
上傳用戶:silenthink
單片機的選擇和使用 目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊與數據傳輸,工業自動化過程的實時控制和數據處理,廣泛使用的各種智能IC卡,民用豪華轎車的安全保障系統,錄像機、攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫療器械了。因此,單片機的學習、開發與應用將造就一批計算機應用與智能化控制的科學家、工程師。 單片機廣泛應用于儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域,大致可分如下幾個范疇: 1.在智能儀器儀表上的應用 單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優點,廣泛應用于儀器儀表中,結合不同類型的傳感器,可實現諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數字化、智能化、微型化,且功能比起采用電子或數字電路更加強大。例如精密的測量設備(功率計,示波器,各種分析儀)。 2.在工業控制中的應用 用單片機可以構成形式多樣的控制系統、數據采集系統。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統,與計算機聯網構成二級控制系統等。 3.在家用電器中的應用 可以這樣說,現在的家用電器基本上都采用了單片機控制,從電飯褒、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備,五花八門,無所不在。 4.在計算機網絡和通信領域中的應用 現代的單片機普遍具備通信接口,可以很方便地與計算機進行數據通信,為在計算機網絡和通信設備間的應用提供了極好的物質條件,現在的通信設備基本上都實現了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。 5.單片機在醫用設備領域中的應用 單片機在醫用設備中的用途亦相當廣泛,例如醫用呼吸機,各種分析儀,監護儀,超聲診斷設備及病床呼叫系統等等。 6.在各種大型電器中的模塊化應用 某些專用單片機設計用于實現特定功能,從而在各種電路中進行模塊化應用,而不要求使用人員了解其內部結構。如音樂集成單片機,看似簡單的功能,微縮在純電子芯片中(有別于磁帶機的原理),就需要復雜的類似于計算機的原理。如:音樂信號以數字的形式存于存儲器中(類似于ROM),由微控制器讀出,轉化為模擬音樂電信號(類似于聲卡)。 在大型電路中,這種模塊化應用極大地縮小了體積,簡化了電路,降低了損壞、錯誤率,也方便于更換。 7.單片機在汽車設備領域中的應用 單片機在汽車電子中的應用非常廣泛,例如汽車中的發動機控制器,基于CAN總線的汽車發動機智能電子控制器,GPS導航系統,abs防抱死系統,制動系統等等。 此外,單片機在工商,金融,科研、教育,國防航空航天等領域都有著十分廣泛的用途。
標簽: 單片機
上傳時間: 2013-11-25
上傳用戶:zjf3110
有兩種方式可以讓設備和應用程序之間聯系: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
介紹了基于Xilinx Spartan- 3E FPGA XC3S250E 來完成分辨率為738×575 的PAL 制數字視頻信號到800×600 的VGA 格式轉換的實現方法。關鍵詞: 圖像放大; PAL; VGA; FPGA 目前, 絕大多數監控系統中采用的高解析度攝像機均由47 萬像素的CCD 圖像傳感器采集圖像, 經DSP 處理后輸出的PAL 制數字視頻信號不能直接在VGA 顯示器上顯示, 而在許多場合需要在VGA 顯示器上實時監視, 這就需要將隔行PAL 制數字視頻轉換為逐行視頻并提高幀頻, 再將每幀圖像放大到800×600 或1 024×768。常用的圖像放大的方法有很多種, 如最臨近賦值法、雙線性插值法、樣條插值法等[ 1] 。由于要對圖像進行實時顯示, 本文采用一種近似的雙線性插值方法對圖像進行放大。隨著微電子技術及其制造工藝的發展, 可編程邏輯器件的邏輯門密度有了很大提高, 現場可編程邏輯門陣列( FPGA) 有著邏輯資源豐富和可重復以及系統配置的靈活性, 同時隨著微處理器、專用邏輯器件以及DSP 算法以IP Core 的形式嵌入到FPGA 中[ 2] , FPGA 的功能越來越強, 因此FPGA 在現代電子系統設計中發揮著越來越重要的作用。本課題的設計就是采用VHDL 描述, 基于FPGA 來實現的。
上傳時間: 2013-12-03
上傳用戶:aa54
針對理工科試題與答案通常都含有公式、圖形的特點,設計并實現了一個適用于理工科的試題庫與組卷系統,采用嵌入ActiveX控件來操作Word文檔的方式,支持的試題類型多樣,并可以按關鍵字查詢Word試題內容。多個用戶可以在不同的地點同時錄入試題,生成的試卷直接以Word文檔的形式下載到本地,并具有在線考試功能。系統采用分布式三層架構,系統安全性高,可擴展性強。
上傳時間: 2013-11-22
上傳用戶:1051290259