亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

溝道增強

  • Arduino學習筆記4_Arduino軟件模擬PWM

    注: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。就不會閃了。

    標簽: Arduino PWM 軟件模擬

    上傳時間: 2013-10-08

    上傳用戶:dingdingcandy

  • 溝道式公廁節水控制器仿真

    很實用的

    標簽: 控制器 仿真

    上傳時間: 2013-10-27

    上傳用戶:392210346

  • 溝道式公廁節水控制器仿真

    很實用的

    標簽: 控制器 仿真

    上傳時間: 2013-11-16

    上傳用戶:weareno2

  • 采用基于FPGA 的方法縮短高級醫療內窺鏡系統的開發時間

      電子發燒友網核心提示:醫療內窺鏡的市場發展帶來了各種挑戰,例如,要求增強功能,更高的精度,更好的處理性能,以及更小的體積等。本文介紹Altera高級醫療內窺鏡系統解決方案,它使用了1080p視頻設計工作臺、DSP 構建模塊、參考設計,以及 Stratix® V、Cyclone® V 和 Arria® V FPGA 等。通過下文介紹,資深專家向您支招,教你懂得如何通過采用基于FPGA的方法來縮短高級醫療內窺鏡系統的開發時間。   引言   對內窺鏡檢查的需求在不斷增長,同時還需要不斷改進檢查過程,增強醫療設備的功能。全球競爭不斷加劇,導致各種新功能的出現,新市場的變化也非常快,開發周期越來越短,工程團隊必須集中精力提高核心競爭力,加強系統知識。工程師需要靈活的硬件平臺和支持各種平臺的工作臺工具,使他們能夠針對新標準或者標準的變化而對產品進行更新。此外,設計團隊必須更高效的進行開發工作。Altera® 1080p 視頻設計工作臺和28-nm FPGA提供了靈活的系統方法來滿足當前以及不斷發展的功能需求。   不斷增長的全球需求   很多因素導致對內窺鏡檢查的需求越來越強。今后數十年內,世界60歲以上的人口數量將會大幅度增長,對醫療衛生服務的需求也會隨之增長。而且,胃腸道患病人口在不斷增加,需要進行檢查和治療。越來越多的醫生采用內窺鏡檢查方法。很多政府報銷政策鼓勵非置入式治療,這有利于患者更快的恢復,從而降低了治療總成本,患者的體驗會更好。   很多國家增加了在醫療基礎設施上的投入,特別是加大了醫療設備的采購。反過來,這些新市場需求也擴大了對下一代內窺鏡系統的需求。設計團隊體驗到需求的不斷增長,而全球競爭導致他們推遲其產品發布計劃。

    標簽: FPGA 內窺鏡

    上傳時間: 2013-12-19

    上傳用戶:xc216

  • 四大FPGA供應商專家談FPGA設計訣竅

     Actel、Altera、Lattice Semiconductor和Xilinx是目前業界最主要的四大FPGA供應商,為了 幫助中國的應用開發工程師更深入地了解FPGA的具體設計訣竅,我們特別邀請到了Altera系統應用 工程部總監Greg Steinke、Xilinx綜合方法經理Frederic Rivoallon、Xilinx高級技術市場工程師 Philippe Garrault、Xilinx產品應用工程部高級經理Chris Stinson、Xilinx IP解決方案工程部總 監Mike Frasier、Lattice Semiconductor應用工程部總監Bertrand Leigh和軟件產品規劃經理Mike Kendrick、Actel公司硅產品市場總監Martin Mason和應用高級經理Jonathan Alexander為大家傳經 授道。 他們將就一系列大家非常關心的關鍵設計問題發表他們的獨到見解,包括:什么是目前FPGA應用工 程師面對的最主要設計問題?如何解決?當開始一個新的FPGA設計時,你們會推薦客戶采用什么樣 的流程?對于I/O信號分布的處理,你們有什么建議可以提供 給客戶?如果你的客戶準備移植到另外一個FPGA、ASIC和結構化ASIC之間進行抉擇?(下)">結構化 ASIC或ASIC,你會建議你的客戶如何做?

    標簽: FPGA

    上傳時間: 2013-10-21

    上傳用戶:wawjj

  • 多層板PCB設計時的EMI解決之道

    解決EMI問題的辦法很多,現代的EMI抑制方法包括:利用EMI抑制涂層、選用合適的EMI抑制零配件和EMI仿真設計等。本文從最基本的PCB布板出發,討論PCB分層堆疊在控制EMI輻射中的作用和設計技巧。

    標簽: PCB EMI 多層板 計時

    上傳時間: 2013-12-18

    上傳用戶:yyq123456789

  • 基于FPGA和CMX589A的GMSK調制器設計與實現

    GMSK信號具有很好的頻譜和功率特性,特別適用于功率受限和信道存在非線性、衰落以及多普勒頻移的移動突發通信系統。根據GMSK調制的特點,提出 亍一種以FPGA和CMX589A為硬件裁體的GMSK調制器的設計方案,并給出了方案的具體實現,包括系統結構、利用CMX589A實現的高斯濾波器、 FPGA實現的調制指數為O.5的FM調制器以及控制器。對系統功能和性能測試結果表明,指標符合設計要求,工作穩定可靠。 關鍵詞:GMSK;DDS;FM調制器;FPGAl 引 言 由于GMSK調制方式具有很好的功率頻譜特性,較優的誤碼性能,能夠滿足移動通信環境下對鄰道干擾的嚴格要求,因此成為GSM、ETS HiperLANl以及GPRS等系統的標準調制方式。目前GMSK調制技術主要有兩種實現方法,一種是利用GMSK ASIC專用芯片來完成,典型的產品如FX589或CMX909配合MC2833或FX019來實現GMSK調制。這種實現方法的特點是實現簡單、基帶信 號速率可控,但調制載波頻率固定,沒有可擴展性。另外一種方法是利用軟件無線電思想采用正交調制的方法在FPGA和DSP平臺上實現。其中又包括兩種實現 手段,一種是采用直接分解將單個脈沖的高斯濾波器響應積分分成暫態部分和穩態部分,通過累加相位信息來實現;另一種采用頻率軌跡合成,通過采樣把高斯濾波 器矩形脈沖響應基本軌跡存入ROM作為查找表,然后通過FM調制實現。這種利用軟件無線電思想實現GMSK調制的方法具有調制參數可變的優點,但由于軟件 設計中涉及到高斯低通濾波、相位積分和三角函數運算,所以調制器參數更改困難、實現復雜。綜上所述,本文提出一種基于CMX589A和FPGA的GMSK 調制器設計方案。與傳統實現方法比較具有實現簡單、調制參數方便可控和軟件剪裁容易等特點,適合于CDPD、無中心站等多種通信系統,具有重要現實意義。

    標簽: FPGA 589A GMSK CMX

    上傳時間: 2015-01-02

    上傳用戶:zhang_yi

  • 用單層PCB設計超低成本混合調諧器

    今天,電視機與視訊轉換盒應用中的大多數調諧器采用的都是傳統單變換MOPLL概念。這種調諧器既能處理模擬電視訊號也能處理數字電視訊號,或是同時處理這兩種電視訊號(即所謂的混合調諧器)。在設計這種調諧器時需考慮的關鍵因素包括低成本、低功耗、小尺寸以及對外部組件的選擇。本文將介紹如何用英飛凌的MOPLL調諧芯片TUA6039-2或其影像版TUA6037實現超低成本調諧器參考設計。這種單芯片ULC調諧器整合了射頻和中頻電路,可工作在5V或3.3V,功耗可降低34%。設計采用一塊單層PCB,進一步降低了系統成本,同時能處理DVB-T/PAL/SECAM、ISDB-T/NTSC和ATSC/NTSC等混合訊號,可支持幾乎全球所有地區標準。圖1為采用TUA6039-2/TUA6037設計單變換調諧器架構圖。該調諧器實際上不僅是一個射頻調諧器,也是一個half NIM,因為它包括了中頻模塊。射頻輸入訊號透過一個簡單的高通濾波器加上中頻與民間頻段(CB)陷波器的組合電路進行分離。該設計沒有采用PIN二極管進行頻段切換,而是采用一個非常簡單的三工電路進行頻段切換。天線阻抗透過高感抗耦合電路變換至已調諧的輸入電路。然后透過英飛凌的高增益半偏置MOSFET BF5030W對預選訊號進行放大。BG5120K雙MOSFET可以用于兩個VHF頻段。在接下來的調諧后帶通濾波器電路中,則進行信道選擇和鄰道與影像頻率等多余訊號的抑制。前級追蹤陷波器和帶通濾波器的容性影像頻率補償電路就是專門用來抑制影像頻率。

    標簽: PCB 調諧器

    上傳時間: 2013-11-21

    上傳用戶:時代將軍

  • 狀態轉移圖及步進指令

    教學提示:前章介紹的基本邏輯指令和梯形圖主要用于設計滿足一般控制要求的PLC程序。對于復雜控制系統來說,系統輸入輸出點數較多,工藝復雜,每一工序的自鎖要求及工序與工序間的相互連鎖關系也復雜,直接采用邏輯指令和梯形圖進行設計較為困難。在實際控制系統中,可將生產過程的控制要求以工序劃分成若干段,每一個工序完成一定的功能,在滿足轉移條件后,從當前工序轉移到下道工序,這種控制通常稱為順序控制。為了方便地進行順序控制設計,許多可編程控制器設置有專門用于順序控制或稱為步進控制的指令,FX2N PLC在基本邏輯指令之外增加了兩條步進指令,同時輔之以大量的狀態器S,結合狀態轉移圖就很容易編出復雜的順序控制程序 教學要求:本章要求學生熟練掌握FX2N的步進指令和狀態轉移圖的功能、應用范圍和使用方法。重點讓學生掌握步進指令和狀態轉移圖編程的規則、步驟與編程方法,并能編寫一些工程控制程序 第四章 狀態轉移圖及步進指令 5.1 狀態轉移圖5.2 步進梯形圖及步進指令5.2.1 步進梯形圖5.2.2 步進指令5.3 步進梯形圖指令編程基本方法5.4 狀態轉移圖常見流程狀態得編程5.4.1 單流程狀態編程5.4.2 跳轉與重復狀態編程5.4.3 選擇分支與匯合狀態編程5.4.4 并行分支與匯合狀態5.4.5 分支與匯合得組合5.5 狀態轉移圖及步進指令的應用實例

    標簽: 狀態轉移 步進 指令

    上傳時間: 2013-11-05

    上傳用戶:釣鰲牧馬

  • 基于虛擬儀器的頻譜監測技術研究

    首先介紹了對信號進行頻譜分析的原理,并根據軟件無線電和虛擬儀器的思想,基于NI(National Instruments)的PXI硬件模塊和LabVIEW軟件平臺,實現了100 kHz~2.7 GHz頻率范圍內的寬帶頻譜掃描、頻率測量、帶內功率測量、鄰波道功率測量、信號帶寬測量等功能。最后,利用該測試平臺對實際信號進行測量,并與頻譜分析儀的測量結果進行比較,驗證了該方案的有效性。

    標簽: 虛擬儀器 技術研究 頻譜監測

    上傳時間: 2013-11-02

    上傳用戶:kaje

主站蜘蛛池模板: 凤台县| 蒙阴县| 仙游县| 阿克陶县| 克东县| 临湘市| 乐清市| 盈江县| 泰来县| 阜南县| 常山县| 盈江县| 抚顺市| 贵德县| 阿坝| 大新县| 辉县市| 钟祥市| 剑河县| 河源市| 晋中市| 武山县| 漳平市| 林周县| 昂仁县| 容城县| 溧阳市| 夏邑县| 太白县| 韶关市| 湖南省| 子洲县| 乐山市| 尉犁县| 县级市| 万源市| 凉山| 宁远县| 张北县| 贵州省| 乌兰察布市|