會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客



« 1 (2)


Re: PIC18F4520生成sine wave 的問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14151
等級: 72; EXP: 51
HP : 1072 / 1787
MP : 4717 / 70841
離線
MCP4921 是 SPI 介面的元件,這還要看你了不了解 SPI 的操作方法。 DAC 使用 R-2R 電阻網路是最簡單的方式之一,拜一下 Google 就知道了,比起使用 SPI DAC 簡單多了。

Sine Wave Table 可以用 Excel 來算出 sin 0 ~ sin90 度時的 0 ~ 255 的範圍值後再填到 const 的常數查表陣列裡。


3 uint8_t  sine_wave
[256] = {
4   0x80, 0x83, 0x86, 0x89, 0x8C, 0x90, 0x93, 0x96,
5   0x99, 0x9C, 0x9F, 0xA2, 0xA5, 0xA8, 0xAB, 0xAE,
6   0xB1, 0xB3, 0xB6, 0xB9, 0xBC, 0xBF, 0xC1, 0xC4,
7   0xC7, 0xC9, 0xCC, 0xCE, 0xD1, 0xD3, 0xD5, 0xD8,
8   0xDA, 0xDC, 0xDE, 0xE0, 0xE2, 0xE4, 0xE6, 0xE8,
9   0xEA, 0xEB, 0xED, 0xEF, 0xF0, 0xF1, 0xF3, 0xF4,
10   0xF5, 0xF6, 0xF8, 0xF9, 0xFA, 0xFA, 0xFB, 0xFC,
11   0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFF, 0xFF, 0xFF,
12   0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFE, 0xFE, 0xFD,
13   0xFD, 0xFC, 0xFB, 0xFA, 0xFA, 0xF9, 0xF8, 0xF6,
14   0xF5, 0xF4, 0xF3, 0xF1, 0xF0, 0xEF, 0xED, 0xEB,
15   0xEA, 0xE8, 0xE6, 0xE4, 0xE2, 0xE0, 0xDE, 0xDC,
16   0xDA, 0xD8, 0xD5, 0xD3, 0xD1, 0xCE, 0xCC, 0xC9,
17   0xC7, 0xC4, 0xC1, 0xBF, 0xBC, 0xB9, 0xB6, 0xB3,
18   0xB1, 0xAE, 0xAB, 0xA8, 0xA5, 0xA2, 0x9F, 0x9C,
19   0x99, 0x96, 0x93, 0x90, 0x8C, 0x89, 0x86, 0x83,
20   0x80, 0x7D, 0x7A, 0x77, 0x74, 0x70, 0x6D, 0x6A,
21   0x67, 0x64, 0x61, 0x5E, 0x5B, 0x58, 0x55, 0x52,
22   0x4F, 0x4D, 0x4A, 0x47, 0x44, 0x41, 0x3F, 0x3C,
23   0x39, 0x37, 0x34, 0x32, 0x2F, 0x2D, 0x2B, 0x28,
24   0x26, 0x24, 0x22, 0x20, 0x1E, 0x1C, 0x1A, 0x18,
25   0x16, 0x15, 0x13, 0x11, 0x10, 0x0F, 0x0D, 0x0C,
26   0x0B, 0x0A, 0x08, 0x07, 0x06, 0x06, 0x05, 0x04,
27   0x03, 0x03, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01,
28   0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03,
29   0x03, 0x04, 0x05, 0x06, 0x06, 0x07, 0x08, 0x0A,
30   0x0B, 0x0C, 0x0D, 0x0F, 0x10, 0x11, 0x13, 0x15,
31   0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x20, 0x22, 0x24,
32   0x26, 0x28, 0x2B, 0x2D, 0x2F, 0x32, 0x34, 0x37,
33   0x39, 0x3C, 0x3F, 0x41, 0x44, 0x47, 0x4A, 0x4D,
34   0x4F, 0x52, 0x55, 0x58, 0x5B, 0x5E, 0x61, 0x64,
35   0x67, 0x6A, 0x6D, 0x70, 0x74, 0x77, 0x7A, 0x7D
36
};

7月10日 14:15:31
轉換PDF檔 列印


Re: PIC18F4520生成sine wave 的問題
新會員
註冊日期:
2016/08/26 11:43
所屬群組:
註冊會員
文章: 8
等級: 1; EXP: 73
HP : 0 / 18
MP : 2 / 66
離線
還有一個問題要請問前輩
因為我們要做的 Sine Wave是20KHz~50KHz的頻率
MCP4921可以做設定嗎
還是要在其他地方設定
謝謝前輩

7月11日 14:03:45
轉換PDF檔 列印


Re: PIC18F4520生成sine wave 的問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14151
等級: 72; EXP: 51
HP : 1072 / 1787
MP : 4717 / 70841
離線
20KHz ~ 50KHz ? 很難過啦!

架設 20KHz 每三度取一點, 20KHz x (360/3) = 2.4MHz
也就是每 0.416uS 取一次 Table 送出。PIC18F4520 沒這麼快。

這樣的速度最好用外加 RAM/PROM 查表放式來做。 PIC 只負責對 Address Line 做 ++ 的動作,查表資料自 PROM 輸出到 R-2R 網路。

這種做法,只要改變 PROM 內的 Table 也可以產生隨意波型的輸出,頻率由 ++ 的速度決定。

7月11日 14:17:46
轉換PDF檔 列印


Re: PIC18F4520生成sine wave 的問題
新會員
註冊日期:
2016/08/26 11:43
所屬群組:
註冊會員
文章: 8
等級: 1; EXP: 73
HP : 0 / 18
MP : 2 / 66
離線
前輩說的:查表資料自 PROM 輸出到 R-2R 網路?
有點不太懂意思
是我建的sine Table要存在PROM藉由查表再輸出給MCP4921 DAC到R-2R 網路再由示波器顯示嗎
因為目前階段寫code在Demo Board作一些測試
想說有沒有example code可以參考
謝謝前輩

7月11日 14:52:01
轉換PDF檔 列印


Re: PIC18F4520生成sine wave 的問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14151
等級: 72; EXP: 51
HP : 1072 / 1787
MP : 4717 / 70841
離線
經過 SPI 的 MCP4921 DAC 轉成弦波這速度是快不起來的。

用 MCU 當 Address 的 Counter 計數 + 1 的位址,PORT 接給 PROM 的 Address, Sine Table 256 個燒在 PROM 裡,其輸出的 D0 ~ D7 接電阻分壓 R-2R 電路。

7月11日 16:09:43
轉換PDF檔 列印


Re: PIC18F4520生成sine wave 的問題
新會員
註冊日期:
2016/08/26 11:43
所屬群組:
註冊會員
文章: 8
等級: 1; EXP: 73
HP : 0 / 18
MP : 2 / 66
離線
請問前輩
Microchip
有這方面的範例程式嗎

7月12日 12:14:08
轉換PDF檔 列印


Re: PIC18F4520生成sine wave 的問題
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14151
等級: 72; EXP: 51
HP : 1072 / 1787
MP : 4717 / 70841
離線
Sorry, 沒有此方法的範例。

7月13日 14:07:28
轉換PDF檔 列印



« 1 (2)



無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
2017 Summer Elite 報名
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project