利用介質陶瓷材料制造的高穩定、寬溫單片(或獨石)電容器,廣泛應用于航空航天、軍事及民用通信及電子設備中。在對介質陶瓷材料組分理論、控制溫度工藝研究,以及BaTiO3-MgO3-Nb2O5系材料組分重組的分析的基礎上,通過改進研磨工藝,控制煅燒溫度等方法,研制出了工作溫度范圍寬、低損耗、介電常數ε可通過調整、性能穩定性電容器介質陶瓷材料。
上傳時間: 2013-10-12
上傳用戶:ve3344
以SPI總線技術為基礎,用微控制器S3C2450X和電平轉換芯片MAX3088設計了一個RS-422接口電路,將SPI單端非平衡傳輸信號轉換為RS-422差分信號。在保證SPI同步傳輸的高效性和高速性的同時,還增強了信號的抗干擾能力。 主要使用9 個信號主機輸入G從機輸出C 主機輸出從機輸入 串行時鐘C 或外設片選或從機選擇信號由從機在主機的控制下產生信號用于禁止或使能外設的收發功能為高電平時\" 禁止外設接收和發送數據為低電平時\" 允許外設接收和發送數據! 圖1 所示是微處理器通過與外設連接的示意圖!
上傳時間: 2014-03-21
上傳用戶:lizhen9880
現代通信技術朝著高速、精確的方向發展,尤其是高速串行通信,逐漸成為通信技術的主流,在各行各業扮演著極其重要的角色,文中簡述了高速I/O的相關技術,如SERDES (串行器/解串器)技術、8B /10B編碼、COMMA字符、預加重等,并列舉了具有代表性的Xilinx公司的FPGA產品,展示了Rocket IO技術的實際應用。關鍵詞:高速I/O接口; SERDES;預加重
標簽: 接口技術
上傳時間: 2013-11-23
上傳用戶:子虛烏有
本文介紹一種基于PCI Express 總線的高速數據采集卡的設計方案及功能實現。給出系統的基本結構及單元組成,重點闡述系統硬件設計的關鍵技術和本地總線的控制邏輯,詳細探討了基于DriverWorks 的設備驅動程序的開發以及上層應用軟件的設計。該系統通過實踐驗證,可用于衛星下行高速數據的接收并可適用于其他高速數據采集與處理系統。關鍵詞:PCI Express 總線 PCIE PEX8311 DMA 板卡驅動 隨著空間科學和空間電子學技術的飛速發展,空間科學實驗的種類和數量以及科學實驗所產生的數據量不斷增加。為了使地面接收處理系統能夠實時處理和顯示科學圖像數據,必須要設計出新的地面數據接收處理系統,實現大量高速數據的正確接收采集、處理以及存儲。為了滿足地面系統的要求,并為以后的計算機系統升級提供更廣闊的空間,本系統擬采用第三代I/O 互連技術PCI Express(簡稱PCI-E)作為本數據采集卡的進機總線形式。本文通過對PCI-E 總線專用接口芯片PLX 公司的PEX8311 性能分析,特別是對突發讀、寫和DMA讀操作的時序研究,設計出本地總線的可編程控制邏輯,并詳細討論了整個PCI-E 高速數據采集卡的硬件設計方案,以及WDM 驅動程序和上層應用程序的設計方法。
上傳時間: 2013-10-28
上傳用戶:tianyi996
硬盤存儲數據是根據電、磁轉換原理實現的。硬盤由一個或幾個表面鍍有磁性物質的金屬或玻璃等物質盤片以及盤片兩面所安裝的磁頭和相應的控制電路組成(圖1),其中盤片和磁頭密封在無塵的金屬殼中。 硬盤工作時,盤片以設計轉速高速旋轉,設置在盤片表面的磁頭則在電路控制下徑向移動到指定位置然后將數據存儲或讀取出來。當系統向硬盤寫入數據時,磁頭中“寫數據”電流產生磁場使盤片表面磁性物質狀態發生改變,并在寫電流磁場消失后仍能保持,這樣數據就存儲下來了;當系統從硬盤中讀數據時,磁頭經過盤片指定區域,盤片表面磁場使磁頭產生感應電流或線圈阻抗產生變化,經相關電路處理后還原成數據。因此只要能將盤片表面處理得更平滑、磁頭設計得更精密以及盡量提高盤片旋轉速度,就能造出容量更大、讀寫數據速度更快的硬盤。這是因為盤片表面處理越平、轉速越快就能越使磁頭離盤片表面越近,提高讀、寫靈敏度和速度;磁頭設計越小越精密就能使磁頭在盤片上占用空間越小,使磁頭在一張盤片上建立更多的磁道以存儲更多的數據。
上傳時間: 2013-10-21
上傳用戶:ztj182002
注:1.這篇文章斷斷續續寫了很久,畫圖技術也不精,難免錯漏,大家湊合看.有問題可以留言. 2.論壇排版把我的代碼縮進全弄沒了,大家將代碼粘貼到arduino編譯器,然后按ctrl+T重新格式化代碼格式即可看的舒服. 一、什么是PWM PWM 即Pulse Wavelength Modulation 脈寬調制波,通過調整輸出信號占空比,從而達到改 變輸出平均電壓的目的。相信Arduino 的PWM 大家都不陌生,在Arduino Duemilanove 2009 中,有6 個8 位精度PWM 引腳,分別是3, 5, 6, 9, 10, 11 腳。我們可以使用analogWrite()控 制PWM 腳輸出頻率大概在500Hz 的左右的PWM 調制波。分辨率8 位即2 的8 次方等于 256 級精度。但是有時候我們會覺得6 個PWM 引腳不夠用。比如我們做一個10 路燈調光, 就需要有10 個PWM 腳。Arduino Duemilanove 2009 有13 個數字輸出腳,如果它們都可以 PWM 的話,就能滿足條件了。于是本文介紹用軟件模擬PWM。 二、Arduino 軟件模擬PWM Arduino PWM 調壓原理:PWM 有好幾種方法。而Arduino 因為電源和實現難度限制,一般 使用周期恒定,占空比變化的單極性PWM。 通過調整一個周期里面輸出腳高/低電平的時間比(即是占空比)去獲得給一個用電器不同 的平均功率。 如圖所示,假設PWM 波形周期1ms(即1kHz),分辨率1000 級。那么需要一個信號時間 精度1ms/1000=1us 的信號源,即1MHz。所以說,PWM 的實現難點在于需要使用很高頻的 信號源,才能獲得快速與高精度。下面先由一個簡單的PWM 程序開始: const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { if((bright++) == 255) bright = 0; for(int i = 0; i < 255; i++) { if(i < bright) { digitalWrite(PWMPin, HIGH); delayMicroseconds(30); } else { digitalWrite(PWMPin, LOW); delayMicroseconds(30); } } } 這是一個軟件PWM 控制Arduino D13 引腳的例子。只需要一塊Arduino 即可測試此代碼。 程序解析:由for 循環可以看出,完成一個PWM 周期,共循環255 次。 假設bright=100 時候,在第0~100 次循環中,i 等于1 到99 均小于bright,于是輸出PWMPin 高電平; 然后第100 到255 次循環里面,i 等于100~255 大于bright,于是輸出PWMPin 低電平。無 論輸出高低電平都保持30us。 那么說,如果bright=100 的話,就有100 次循環是高電平,155 次循環是低電平。 如果忽略指令執行時間的話,這次的PWM 波形占空比為100/255,如果調整bright 的值, 就能改變接在D13 的LED 的亮度。 這里設置了每次for 循環之后,將bright 加一,并且當bright 加到255 時歸0。所以,我們 看到的最終效果就是LED 慢慢變亮,到頂之后然后突然暗回去重新變亮。 這是最基本的PWM 方法,也應該是大家想的比較多的想法。 然后介紹一個簡單一點的。思維風格完全不同。不過對于驅動一個LED 來說,效果與上面 的程序一樣。 const int PWMPin = 13; int bright = 0; void setup() { pinMode(PWMPin, OUTPUT); } void loop() { digitalWrite(PWMPin, HIGH); delayMicroseconds(bright*30); digitalWrite(PWMPin, LOW); delayMicroseconds((255 - bright)*30); if((bright++) == 255) bright = 0; } 可以看出,這段代碼少了一個For 循環。它先輸出一個高電平,然后維持(bright*30)us。然 后輸出一個低電平,維持時間((255-bright)*30)us。這樣兩次高低就能完成一個PWM 周期。 分辨率也是255。 三、多引腳PWM Arduino 本身已有PWM 引腳并且運行起來不占CPU 時間,所以軟件模擬一個引腳的PWM 完全沒有實用意義。我們軟件模擬的價值在于:他能將任意的數字IO 口變成PWM 引腳。 當一片Arduino 要同時控制多個PWM,并且沒有其他重任務的時候,就要用軟件PWM 了。 多引腳PWM 有一種下面的方式: int brights[14] = {0}; //定義14個引腳的初始亮度,可以隨意設置 int StartPWMPin = 0, EndPWMPin = 13; //設置D0~D13為PWM 引腳 int PWMResolution = 255; //設置PWM 占空比分辨率 void setup() { //定義所有IO 端輸出 for(int i = StartPWMPin; i <= EndPWMPin; i++) { pinMode(i, OUTPUT); //隨便定義個初始亮度,便于觀察 brights[ i ] = random(0, 255); } } void loop() { //這for 循環是為14盞燈做漸亮的。每次Arduino loop()循環, //brights 自增一次。直到brights=255時候,將brights 置零重新計數。 for(int i = StartPWMPin; i <= EndPWMPin; i++) { if((brights[i]++) == PWMResolution) brights[i] = 0; } for(int i = 0; i <= PWMResolution; i++) //i 是計數一個PWM 周期 { for(int j = StartPWMPin; j <= EndPWMPin; j++) //每個PWM 周期均遍歷所有引腳 { if(i < brights[j])\ 所以我們要更改PWM 周期的話,我們將精度(代碼里面的變量:PWMResolution)降低就行,比如一般調整LED 亮度的話,我們用64 級精度就行。這樣速度就是2x32x64=4ms。就不會閃了。
上傳時間: 2013-10-23
上傳用戶:mqien
C 語言開發環境 C_FMT11 C 語言開發高速格式化工具 C_HINTS C 語言開發HNT格式數據庫系統 C_KERMIT C 語言核心協議的 C 語言源代碼 C_LIB 一些小工具的 C 語言源代碼
上傳時間: 2015-01-08
上傳用戶:13188549192
用於手機的BMP格式解析
上傳時間: 2015-01-09
上傳用戶:thuyenvinh
這片文章較詳細地介紹了在Linux下如何配置TCP/IPX協議。
上傳時間: 2014-01-17
上傳用戶:王小奇
單片RS232-PPP/TCP/IP協議轉換模塊
上傳時間: 2015-01-10
上傳用戶:fanboynet