前面文章中提到的專為“2022年暑期在家一起練”的高顏值硬禾電子琴:
“暑期一起練”即將開玩的“高顏值”電子琴!
引起了很多同學的興趣,活動正式發布出來,就有不少同學紛紛下單。在這里順便給同學們梳理一下要做出這個電子琴需要用到哪些書本知識?設計中要注意哪些要點?
首先看一下這個套件包含了哪些:
1x Piano Kit擴展板,包含了帶電路的底板和一塊琴鍵蓋板
1x 小腳丫FPGA核心板(Lattice MXO2-C),能夠通過Web IDE編程或Lattice官方提供的Diamond軟件進行編程
1x Micro USB數據線,前期的活動中,不少同學使用的USB線只能供電,沒有數據傳輸功能,建議在調試的過程中使用我們提供的USB數據線這個電子琴的構成框圖:
電子琴的功能框圖
多數的電子琴都是通過PWM信號驅動蜂鳴器來發聲,實現起來比較輕松,但發出來的聲音比較單調。如果能夠用模擬的信號來驅動揚聲器,通過DDS的方式理論上可以生成任意頻率、任意幅度、任意波形的信號,還可以在數字域進行合成、數字信號處理,然后再通過DAC輸出成模擬信號推動揚聲器來發出聲音。
所以通過這個活動,同學們可以在學習了數字電路課程的基礎上,通過FPGA的使用,進一步深刻理解數字邏輯和現實世界之間的關系,通過數字信號驅動數字外設、通過模擬信號來驅動模擬外設,并可以通過信號的質量以及儀器觀測波形進行對比。
模擬數字轉換(ADC)和數字模擬轉換(DAC)是連接數字信號和模擬信號之間的橋梁,實現ADC和DAC的方式有多種,在這個電子琴的活動中,我們體會一下如何通過PWM的方式來實現DAC的功能,也就是PWM + 低通濾波器可以將數字信號轉換為模擬信號。
這里面還有一個頻譜的問題,在固定時鐘頻率的情況下,通過PWM來做DAC,就需要在產生的信號的頻率與分辨率之間進行折中,12MHz的主時鐘(在不加鎖相環的情況下)要得到相當于10位分辨率的DAC,意味著生成模擬信號的“轉換率”最高也就到12MHz/1024~12KHz(落在了人可以聽見的聲音的范圍),這樣就決定了外部低通濾波器的截止頻率的設定, 要能夠有效濾除掉12KHz的轉換頻率,要模擬電子琴的音調,一般需要用到基頻的高次諧波分量,既要能夠保證到高頻率信號的復現,同時又不能有干擾音的出現,如何取舍?
人的耳朵對于細微的聲音差別都能夠感知到,10位的DAC是否滿足要求?能否用8位就可以?是否需要到12位、甚至16位?
在已經設定好的階數很低的低通濾波器的前提下,又該如何取舍?有沒有其它的辦法?
這些都是同學們在一個月的時間里,在這個平臺上制作一個“好聽”的“電子琴”所需要考慮的。
相信有的同學不會簡單止步于做出一個能聽到聲音的“電子琴”,還會進一步探索更多的聲音信號處理的功能,能夠模擬出更多不同樂器的聲音。
這正是我們這個平臺的目的 - 將所學到的理論知識,運用到一個實際的系統中,能夠解決在實現的過程中遭遇到的各種挑戰,并將其做到盡善盡美。
制作這個電子琴的所有數字邏輯基礎模塊都可以在電子森林的網站上找尋到,你需要讀懂它,消化它,將它們有機組合在一起。
涉及到的數字電路/邏輯的技能及參考設計資源:
按鍵輸入響應、按鍵消抖:
矩陣鍵盤鍵入系統設計
消抖
PWM信號生成:
PWM的應用及相應的Verilog代碼
簡易電子琴設計
STEP FPGA驅動無源蜂鳴器模塊
PWM和1位DAC
音樂盒
DDS信號生成 - 頻率的調節、幅度的調節:
DDS生成任意波形的方法及Verilog代碼實例
基于DDS的任意波形、信號發生器設計
列出來的這些參考資源都可以在電子森林網站上找到,有詳細的說明和源代碼。由于微信的限制無法將上述文中的鏈接進行跳轉,大家可以訪問這個活動的項目頁面,在基本信息中心有這些參考設計資源的URL鏈接。
原文標題:用FPGA制作一個電子琴中的設計要點
文章出處:【微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。
-
軟件
+關注
關注
69文章
5117瀏覽量
88905 -
數據線
+關注
關注
8文章
298瀏覽量
38777 -
蜂鳴器
+關注
關注
12文章
893瀏覽量
46667 -
電子琴
+關注
關注
4文章
154瀏覽量
31037
原文標題:用FPGA制作一個電子琴中的設計要點
文章出處:【微信號:xiaojiaoyafpga,微信公眾號:電子森林】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
評論