設計工程師通常在FPGA上實現FIFO(先進先出寄存器)的時候,都會使用由芯片提供商所提供的FIFO。但是,由于其通用性使得其針對性變差,某些情況下會變得不方便或者將增加硬件成本。此時,需要進行自行FIFO設計。本文提供了一種基于信元的FIFO設計方法以供設計者在適當的時候選用。這種方法也適合于不定長包的處理。
上傳時間: 2014-01-13
上傳用戶:mengmeng444425
為使設計人員在大型客機設計階段便可對其制造成本有較為準確的把握,針對大型客機制造成本,采用RBF神經網絡理論建立了一種分析模型,并給出建模流程。利用Matlab神經網絡工具箱進行模擬仿真,對所建立大型客機制造成本分析的神經網絡模型進行了驗證,最后進行誤差分析。仿真結果表明,所建RBF神經網絡對大型客機成本的估算是有效的,且該方法精度較高,實用性較強。
上傳時間: 2013-11-19
上傳用戶:wpwpwlxwlx
MPEG(Moving Picture Experts Group)和VCEG(Video Coding Experts Group)已經聯合開發了一個比早期研發的MPEG 和H.263 性能更好的視頻壓縮編碼標準,這就是被命名為AVC(Advanced Video Coding),也被稱為ITU-T H.264 建議和MPEG-4 的第10 部分的標準,簡稱為H.264/AVC 或H.264。這個國際標準已經與2003 年3 月正式被ITU-T 所通過并在國際上正式頒布。為適應高清視頻壓縮的需求,2004 年又增加了FRExt 部分;為適應不同碼率及質量的需求,2006 年又增加了可伸縮編碼 SVC。
上傳時間: 2013-11-19
上傳用戶:dancnc
電子元器件 任何一個電子電路,都是由電子元器件組合而成。了解常用元器件的性能、型號規格、組成分類及識別方法,用簡單測試的方法判斷元器件的好壞,是選擇、使用電子元器件的基礎,是組裝、調試電子電路必須具備的技術技能。下面我們首先分別介紹電阻器、電容器、電感器、繼電器、晶體管、光電器件、集成電路等元器件的基本知識1 .電阻器電阻器在電路中起限流、分流、降壓、分壓、負載、匹配等作用。1.1電阻器的分類電阻器按其結構可分為三類,即固定電阻器、可變電阻器(電位器)和敏感電阻器。按組成材料的不同,又可分為炭膜電阻器、金屬膜電阻器、線繞電阻器、熱敏電阻器、壓敏電阻器等。常用電阻器的外形圖如圖1.1 1.2 電阻器的參數及標注方法電阻器的參數很多,通??紤]的有標稱阻值、額定功率和允許偏差等。(1)、標稱阻值和允許誤差 電阻器的標稱阻值是指電阻器上標出的名義阻值。而實際阻值與標稱阻值之間允許的最大偏差范圍叫做阻值允許偏差,一般用標稱阻值與實際阻值之差除以標稱阻值所得的百分數表示,又稱阻值誤差。普通電阻器阻值誤差分三個等級:允許誤差小于±5﹪的稱Ⅰ級,允許誤差小于±10﹪的稱Ⅱ級,允許誤差小于±20﹪的稱Ⅲ級。表示電阻器的阻值和誤差的方法有兩種:一是直標法,二是色標法。直標法是將電阻的阻值直接用數字標注在電阻上;色標法是用不同顏色的色環來表示電阻器的阻值和誤差,其規定如表1.1(a)和(b)。 用色標法表示電阻時,根據阻值的精密情況又分為兩種:一是普通型電阻,電阻體上有四條色環,前兩條表示數字,第三條表示倍乘,第四條表示誤差。二是精密型電阻,電阻體上有五條色環,前三條表示數字,第四條表示倍乘,第五條表示誤差。通用電阻器的標稱阻值系列如表1.2所示,任何電阻器的標稱阻值都應為表1.2所列數值乘以10nΩ,其中n為整數。(2)、電阻器的額定功率 電阻器的額定功率指電阻器在直流或交流電路中,長期連續工作所允許消耗的最大功率。常用的額定功率有1/8W、1/4W、1/2W、1W、2W、5W、10W、25W等。電阻器的額定功率有兩種表示方法,一是2W以上的電阻,直接用阿拉伯數字標注在電阻體上,二是2W以下的炭膜或金屬膜電阻,可以根據其幾何尺寸判斷其額定功率的大小如表1.3。3 電阻器的簡單測試 電阻器的好壞可以用儀表測試,電阻器阻值的大小也可以用有關儀器、儀表測出,測試電阻值通常有兩種方法,一是直接測試法,另一種是間接測試法。(1).直接測試法就是直接用歐姆表、電橋等儀器儀表測出電阻器阻值的方法。通常測試小于1Ω的小電阻時可用單臂電橋,測試1Ω到1MΩ電阻時可用電橋或歐姆表(或萬用表),而測試1MΩ以上大電阻時應使用兆歐表。
上傳時間: 2013-10-26
上傳用戶:windwolf2000
本文將探討微控制器與 PSoC (可編程系統單晶片)在數位電視應用上的設計挑戰,並比較微控制器和 PSoC 架構在處理這些挑戰時的不同處,以有效地建置執行。
上傳時間: 2013-11-22
上傳用戶:gengxiaochao
ZigBee技術是一種應用于短距離范圍內,低傳輸數據速率下的各種電子設備之間的無線通信技術。ZigBee名字來源于蜂群使用的賴以生存和發展的通信方式,蜜蜂通過跳ZigZag形狀的舞蹈來通知發現的新食物源的位置、距離和方向等信息,以此作為新一代無線通訊技術的名稱。ZigBee過去又稱為“HomeRF Lite”、“RF-EasyLink”或“FireFly”無線電技術,目前統一稱為ZigBee技術。 2、ZigBee技術的特點 自從馬可尼發明無線電以來,無線通信技術一直向著不斷提高數據速率和傳輸距離的方向發展。例如:廣域網范圍內的第三代移動通信網絡(3G)目的在于提供多媒體無線服務,局域網范圍內的標準從IEEE802.11的1Mbit/s到IEEE802.11g的54Mbit/s的數據速率。而當前得到廣泛研究的ZigBee技術則致力于提供一種廉價的固定、便攜或者移動設備使用的極低復雜度、成本和功耗的低速率無線通信技術。這種無線通信技術具有如下特點: 功耗低:工作模式情況下,ZigBee技術傳輸速率低,傳輸數據量很小,因此信號的收發時間很短,其次在非工作模式時,ZigBee節點處于休眠模式。設備搜索時延一般為30ms,休眠激活時延為15ms,活動設備信道接入時延為15ms。由于工作時間較短、收發信息功耗較低且采用了休眠模式,使得ZigBee節點非常省電,ZigBee節點的電池工作時間可以長達6個月到2年左右。同時,由于電池時間取決于很多因素,例如:電池種類、容量和應用場合,ZigBee技術在協議上對電池使用也作了優化。對于典型應用,堿性電池可以使用數年,對于某些工作時間和總時間(工作時間+休眠時間)之比小于1%的情況,電池的壽命甚至可以超過10年。 數據傳輸可靠:ZigBee的媒體接入控制層(MAC層)采用talk-when-ready的碰撞避免機制。在這種完全確認的數據傳輸機制下,當有數據傳送需求時則立刻傳送,發送的每個數據包都必須等待接收方的確認信息,并進行確認信息回復,若沒有得到確認信息的回復就表示發生了碰撞,將再傳一次,采用這種方法可以提高系統信息傳輸的可靠性。同時為需要固定帶寬的通信業務預留了專用時隙,避免了發送數據時的競爭和沖突。同時ZigBee針對時延敏感的應用做了優化,通信時延和休眠狀態激活的時延都非常短。 網絡容量大:ZigBee低速率、低功耗和短距離傳輸的特點使它非常適宜支持簡單器件。ZigBee定義了兩種器件:全功能器件(FFD)和簡化功能器件(RFD)。對全功能器件,要求它支持所有的49個基本參數。而對簡化功能器件,在最小配置時只要求它支持38個基本參數。一個全功能器件可以與簡化功能器件和其他全功能器件通話,可以按3種方式工作,分別為:個域網協調器、協調器或器件。而簡化功能器件只能與全功能器件通話,僅用于非常簡單的應用。一個ZigBee的網絡最多包括有255個ZigBee網路節點,其中一個是主控(Master)設備,其余則是從屬(Slave)設備。若是通過網絡協調器(Network Coordinator),整個網絡最多可以支持超過64000個ZigBee網路節點,再加上各個Network Coordinator可互相連接,整個ZigBee網絡節點的數目將十分可觀。 兼容性:ZigBee技術與現有的控制網絡標準無縫集成。通過網絡協調器(Coordinator)自動建立網絡,采用載波偵聽/沖突檢測(CSMA-CA)方式進行信道接入。為了可靠傳遞,還提供全握手協議。
標簽: zigbee
上傳時間: 2013-11-24
上傳用戶:siguazgb
注: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-08
上傳用戶:dingdingcandy
在激光測距系統中,微弱回波信號的檢測處理一直是一個難題。本文主要討論了激光測距接收系統的實現方法,這種測距方法既適用于短距離的測量又適用于長距離的測量。首先介紹了脈沖式激光測距的原理,在此原理的基礎上,結合FPGA的高速信號處理能力,設計了高精度激光測距接收系統,并設計了回波信號接收與計數電路模塊。
上傳時間: 2015-01-01
上傳用戶:非衣2016
電子發燒友網核心提示:醫療內窺鏡的市場發展帶來了各種挑戰,例如,要求增強功能,更高的精度,更好的處理性能,以及更小的體積等。本文介紹Altera高級醫療內窺鏡系統解決方案,它使用了1080p視頻設計工作臺、DSP 構建模塊、參考設計,以及 Stratix® V、Cyclone® V 和 Arria® V FPGA 等。通過下文介紹,資深專家向您支招,教你懂得如何通過采用基于FPGA的方法來縮短高級醫療內窺鏡系統的開發時間。 引言 對內窺鏡檢查的需求在不斷增長,同時還需要不斷改進檢查過程,增強醫療設備的功能。全球競爭不斷加劇,導致各種新功能的出現,新市場的變化也非常快,開發周期越來越短,工程團隊必須集中精力提高核心競爭力,加強系統知識。工程師需要靈活的硬件平臺和支持各種平臺的工作臺工具,使他們能夠針對新標準或者標準的變化而對產品進行更新。此外,設計團隊必須更高效的進行開發工作。Altera® 1080p 視頻設計工作臺和28-nm FPGA提供了靈活的系統方法來滿足當前以及不斷發展的功能需求。 不斷增長的全球需求 很多因素導致對內窺鏡檢查的需求越來越強。今后數十年內,世界60歲以上的人口數量將會大幅度增長,對醫療衛生服務的需求也會隨之增長。而且,胃腸道患病人口在不斷增加,需要進行檢查和治療。越來越多的醫生采用內窺鏡檢查方法。很多政府報銷政策鼓勵非置入式治療,這有利于患者更快的恢復,從而降低了治療總成本,患者的體驗會更好。 很多國家增加了在醫療基礎設施上的投入,特別是加大了醫療設備的采購。反過來,這些新市場需求也擴大了對下一代內窺鏡系統的需求。設計團隊體驗到需求的不斷增長,而全球競爭導致他們推遲其產品發布計劃。
上傳時間: 2013-12-19
上傳用戶:xc216
設計工程師通常在FPGA上實現FIFO(先進先出寄存器)的時候,都會使用由芯片提供商所提供的FIFO。但是,由于其通用性使得其針對性變差,某些情況下會變得不方便或者將增加硬件成本。此時,需要進行自行FIFO設計。本文提供了一種基于信元的FIFO設計方法以供設計者在適當的時候選用。這種方法也適合于不定長包的處理。
上傳時間: 2013-11-05
上傳用戶:ch3ch2oh