本文詳細介紹了Linux平臺下內核空間設備驅動程序的開發。在比較proc和dev兩種文件系統的基礎上,分別以PCI設備和USB設備的驅動程序開發為實例來介紹利用兩種文件系統開發字符設備驅動程序的方法。
上傳時間: 2013-04-24
上傳用戶:1583060504
該文進行的設計作為數控系統大課題中的一個子課題,主要研究利用PCI總線來實現對外圍IO的操作,硬件上包括設計一塊PCI接口卡并測試通過,軟件上實現了PCI接口卡在Linux下的驅動和用軟PLC來實現對外圍IO的操作.該文在比較幾種微機總線的基礎上,為了實現數控系統高速、高精度、低功耗的要求,采用PCI總線進行設計.隨著可編程邏輯器件的發展,為在一片PLD芯片內實現復雜的邏輯控制提供了條件.該文在綜合比較開發PCI卡的幾種方法的基礎上,選擇了使用FPGA來實現PCI接口卡設計.用VHDL語言對FPGA編程,采用模塊化的設計方法進行設計,用狀態機來控制PCI邏輯的時序.設計首先在EDA軟件上仿真通過后,制作成PCI板卡并在現場調試通過.為方便所設計的PCI卡在數控系統及其它系統中應用,該文設計了PCI卡在Linux下的設備驅動程序,主要包括設備的注冊與注銷、與Linux內核的接口、相關的入口函數、驅動程序的編碼、編譯、加載與卸載等,并編寫了相應的測試代碼,在Linux環境下調試通過.為了解決數控系統中PLC的應用問題,該文還設計了PCI卡在軟PLC中的應用.采用的軟PLC軟件是Linux下的MatPLC軟件.在詳細討論MatPLC工作原理的基礎上,設計了一個輸入模塊、一個輸出模塊和一個MatPLC配置文件.輸入模塊通過驅動程序從PCI卡中讀取數據,傳送到MatPLC內核的全局變量中,輸出模塊從內核全局變量讀取數據并進行邏輯運算,再輸出到PCI卡.將他們編譯通過,并進行測試,最終實現軟PLC對外圍IO端口的讀寫.該論文受到廣東省科技攻關項目[2002A1040402]、廣東省科技攻關項目[2003C101002]、廣州市重大科技攻關計劃[2002Z1-D0051]的資助.
上傳時間: 2013-07-18
上傳用戶:szchen2006
C/C++程序設計教程.zipC/C++程序設計教程.zip-C/C++ Programming Guide. ZipC/C++ Programming Guide. Zip
上傳時間: 2013-08-02
上傳用戶:sssl
51單片機程序設計與實驗,51單片機程序設計與實驗
上傳時間: 2013-04-24
上傳用戶:dave520l
TMS320F2808的一些學習程序,供初學者學習用.會非常實用的
上傳時間: 2013-07-03
上傳用戶:zhaiyanzhong
隨著信息社會的發展,人們要處理的各種信息總量變得越來越大,尤其在處理大數據量與實時處理數據方面,對處理設備的要求是非常高的。為滿足這些要求,實時快速的各種CPU、處理板應運而生。這類CPU與板卡處理數據速度快,效率高,并且不斷的完善與發展。此類板卡要求與外部設備通訊,同時也要進行內部的數據交換,于是板卡的接口設備調試與內部數據交換也成為必須要完成的工作。本文所作的工作正是基于一種高速通用信號處理板的外部接口和內部數據通道的設計。 本文首先介紹了通用信號處理板的應用開發背景,包括此類板卡使用的處理芯片、板上設備、發展概況以及和外部相連的各種總線概況,同時說明了本人所作的主要工作。 其次,介紹了PCI接口的有關規范,給出了通用信號處理板與CPCI的J1口的設計時序;介紹了DDR存儲器的概況、電平標準以及功能寄存器,并給出了與DDR.存儲器接口的設計時序;介紹了片上主要數據處理器件TS-202的有關概況,設計了板卡與DSP的接口時序。 再次,介紹了Altera公司FPGA的程序設計流程,并使用VHDL語言編程完成各個模塊之間的數據傳遞,并重點介紹了DDR控制核的編寫。 再次,介紹了WDM驅動程序的結構,程序設計方法等。 最后,通過從工控機向通用信號處理板寫連續遞增的數據驗證了整個系統已經正常工作。實現了信號處理板內部數據通道設計以及與外部接口的通訊;并且還提到了對此設計以后地完善與發展。 本文所作的工作如下: 1、設計完成了處理板各接口時序,使處理板可以從接口接受/發送數據。 2、完成了FPGA內部的數據通道的設計,使數據可以從CPCI準確的傳送到DSP進行處理,并編寫了DSP的測試程序。 3、完成了DDR SDRAM控制核的VHDL程序編寫。 4、完成了PCI驅動程序的編寫。
上傳時間: 2013-06-30
上傳用戶:唐僧他不信佛
《單片機高級語言c51應用程序設計》書450頁,徐愛鈞,彭秀華等編著
上傳時間: 2013-06-27
上傳用戶:111111112
本文研究基于ARM與FPGA的高速數據采集系統技術。論文完成了ARM+FPGA結構的共享存儲器結構設計,實現了ARMLinux系統的軟件設計,包括觸摸屏控制、LCD顯示、正弦插值算法設計以及各種顯示算法設計等。同時進行了信號的高速采集和處理的實際測試,對實驗測試數據進行了分析。 論文分別從軟件和硬件兩方面入手,闡述了基于ARM處理器和FPGA芯片的高速數據采集的硬件系統設計方法,以及基于ARMLinux操作系統的設備驅動程序設計和應用程序設計。 硬件方面,在FPGA平臺上,我們首先利用乒乓操作的方式將一路高速數據信號轉換成頻率為原來頻率1/4的4路低速數據信號,再將這四路數據分別存儲到4個FIFO中,然后再對這4個FIFO中的數據拼接并存儲在FPGA片上的雙端口雙時鐘RAM中,最后將FPGA的雙端口雙時鐘RAM掛載到ARM系統的總線上,實現了ARM和FPGA共享存儲器的系統結構,使ARM處理器可以直接讀取這個雙端口雙時鐘的RAM中的數據,從而大大提高了數據采集與處理的效率。在采樣頻率控制電路設計方面,我們通過使FIFO的數據存儲時鐘降低為標準狀態下的1/n實現數據采集頻率降為標準狀態的1/n,從而實現了由FPGA控制的可變頻率的數據采集系統。 軟件方面,為了更有效地管理和拓展系統功能,我們移植了ARMLinux操作系統,并在S3C2410平臺上設計實現了基于Linux操作系統的觸摸屏驅動程序設計、LCD驅動程序移植、自定義的FPGA模塊驅動程序設計、LCD顯示程序設計、多線程的應用程序設計。應用程序能夠控制FPGA數據采集系統工作。 在前端采樣頻率為125MHz情況下,系統可以正常工作。能夠實現對頻率在5MHz以下的信號波形的直接顯示;對5MHz至40MHz的信號,使用正弦插值算法進行處理,顯示效果良好。同時這種硬件結構可擴展性強,可以在此基礎上實現8路甚至16路緩沖的系統結構,可以使系統支持更高的采樣頻率。
上傳時間: 2013-07-04
上傳用戶:林魚2016
目錄 第1章 概述 1.1 采用C語言提高編制單片機應用程序的效率 1.2 C語言具有突出的優點 1.3 AvR單片機簡介 1.4 AvR單片機的C編譯器簡介 第2章 學習AVR單片機C程序設計所用的軟件及實驗器材介紹 2.1 IAR Enlbedded Workbench IDE C語言編譯器 2.2 AVR Studio集成開發環境 2.3 PonyProg2000下載軟件及SL—ISP下載軟件 2.4 AVR DEM0單片機綜合實驗板 2.5 AvR單片機JTAG仿真器 2.6 并口下載器 2.7 通用型多功能USB編程器 第3章 AvR單片機開發軟件的安裝及第一個入門程序 3.1 安裝IAR for AVR 4.30集成開發環境 3.2 安裝AVR Studio集成開發環境 3.3 安裝PonyProg2000下載軟件 3.4 安裝SLISP下載軟件 3.5 AvR單片機開發過程 3.6 第一個AVR入門程序 第4章 AVR單片機的主要特性及基本結構 4.1 ATMEGA16(L)單片機的產品特性 4.2 ATMEGA16(L)單片機的基本組成及引腳配置 4.3 AvR單片機的CPU內核 4.4 AvR的存儲器 4.5 系統時鐘及時鐘選項 4.6 電源管理及睡眠模式 4.7 系統控制和復位 4.8 中斷 第5章 C語言基礎知識 5.1 C語言的標識符與關鍵字 5.2 數據類型 5.3 AVR單片機的數據存儲空間 5.4 常量、變量及存儲方式 5.5 數組 5.6 C語言的運算 5.7 流程控制 5.8 函數 5.9 指針 5.10 結構體 5.11 共用體 5.12 中斷函數 第6章 ATMEGA16(L)的I/O端口使用 6.1 ATMEGAl6(L)的I/O端口 6.2 ATMEGAl6(L)中4組通用數字I/O端口的應用設置 6.3 ATMEGA16(L)的I/O端口使用注意事項 6.4 ATMEGAl6(L)PB口輸出實驗 6.5 8位數碼管測試 6.6 獨立式按鍵開關的使用 6.7 發光二極管的移動控制(跑馬燈實驗) 6.8 0~99數字的加減控制 6.9 4×4行列式按鍵開關的使用 第7章 ATMEGAl6(L)的中斷系統使用 7.1 ATMEGA16(L)的中斷系統 7.2 相關的中斷控制寄存器 7.3 INT1外部中斷實驗 7.4 INTO/INTl中斷計數實驗 7.5 INTO/INTl中斷嵌套實驗 7.6 2路防盜報警器實驗 7.7 低功耗睡眠模式下的按鍵中斷 7.8 4×4行列式按鍵的睡眠模式中斷喚醒設計 第8章 ATMEGAl6(L)驅動16×2點陣字符液晶模塊 8.1 16×2點陣字符液晶顯示器概述 8.2 液晶顯示器的突出優點 8.3 16×2字符型液晶顯示模塊(LCM)特性 8.4 16×2字符型液晶顯示模塊(LCM)引腳及功能 8.5 16×2字符型液晶顯示模塊(LCM)的內部結構 8.6 液晶顯示控制驅動集成電路HD44780特點 8.7 HD44780工作原理 8.8 LCD控制器指令 8.9 LCM工作時序 8.10 8位數據傳送的ATMEGAl6(L)驅動16×2點陣字符液晶模塊的子函數 8.11 8位數據傳送的16×2 LCM演示程序1 8.12 8位數據傳送的16×2 LCM演示程序2 8.13 4位數據傳送的ATMEGA16(L)驅動16×2點陣字符液晶模塊的子函數 8.14 4位數據傳送的16×2 LCM演示程序 第9章 ATMEGA16(L)的定時/計數器 9.1 預分頻器和多路選擇器 9.2 8位定時/計時器T/C0 9.3 8位定時/計數器0的寄存器 9.4 16位定時/計數器T/C1 9.5 16位定時/計數器1的寄存器 9.6 8位定時/計數器T/C2 9.7 8位T/C2的寄存器 9.8 ICC6.31A C語言編譯器安裝 9.9 定時/計數器1的計時實驗 9.10 定時/計數器0的中斷實驗 9.11 4位顯示秒表實驗 9.12 比較匹配中斷及定時溢出中斷的測試實驗 9.13 PWM測試實驗 9.14 0~5 V數字電壓調整器 9.15 定時器(計數器)0的計數實驗 9.16 定時/計數器1的輸入捕獲實驗 ......
上傳時間: 2013-07-30
上傳用戶:yepeng139
周立功μCOS-II程序設計基礎,值得新手學習。
上傳時間: 2013-04-24
上傳用戶:trepb001