顯示具有 support 標籤的文章。 顯示所有文章
顯示具有 support 標籤的文章。 顯示所有文章

2010年2月4日 星期四

加速學習 LabVIEW 之十大密技

最近整理出了一些我認為學生學習LabVIEW會常碰到的一些問題…

其實後來我發現,大部份的問題都跟LabVIEW無關,是跟程式邏輯還有規劃比較有關係。很多人都以為,寫LabVIEW直接跳進去就好,不用做什麼準備 … 我覺得這就像跳進游泳池不先暖身一樣,遲早會抽筋的。學生們一邊寫一邊改,改到後來連自己的程式在幹嘛都不曉得了,到最後就抱怨LabVIEW很難用。難怪我常聽到,LabVIEW的優點也正是它的缺點,希望各位看到這些投影片之後,能夠養成寫LabVIEW的一些好習慣。(雖然沒有講的很深入,但是至少足以提醒各位一些準則。)

-John

2009年6月8日 星期一

使用FPGA來產生PWM信號,為什麼0% duty cycle還是會有一段短的時間會有pulse?

 

又到了 LabVIEW FPGA Q&A 時間,這個現象我以前也會碰到,因為我拿 LabVIEW 的 PWM 範例直接下去 compile,但是 NI 給的 FPGA PWM 範例其實是可以再改善的。這是 Example Finder 所提供的範例:

image

這時候如果 duty cycle 是 0% 或 100% 的話, low pulse 或 high pulse 的值很有可能是 0,但是將 "0" feed 給 Loop Timer 的話,它很難真正給你停 0 秒,因為這個指令已經被下了,說什麼也要花幾個 tick 的時間。如果可以想辦法改一下的話,讓low pulse 或 high pulse等於0的時候直接送出 0V 或 5V,就不會有那個現象了。這裡有個範例給大家看看:

Example of modified FPGA PWM

還有,這邊再附上一個很方便的VI,讓我們從RT那邊幫我們算 high & low ticks 應該要多少,只要跟它講你要的 duty cycle以及PWM的頻率就好了。注意,此VI會假設FPGA那邊是用預設的40Mhz的timebase,假如你用其他的timebase,那可能這個VI還要在修改一下。用途如下:

image

Calculate PWM High and Low Ticks.vi