Electronics 板


LINE

※ 引述《chongming ()》之銘言: : 大家好 小弟有一些問題 想跟高手們請教 : 以是我的想法: : 假若數位控制器 (0.001082*z^2 - 15.45*z + 15.45)/ (z^2 - 0.1137*z + 0.003233) : DIF為輸入訊號 DIF_CN為輸出訊號 DIFP為上一次輸入訊號 DIFPP為上上次輸入訊號 : DIF_CP為上一次輸出訊號 DIF_CPP為上上次輸出訊號 則我用shift左移一位為乘於二的 : 想法 右移為除想法 實現數位控制器 但問題是 算出來的結果經比例縮小後提供給PWM : 比較 輸出PWM High Low的值 理因會因 data_read_possense改變而改變 但結果並非我的 : 預期 想跟高手請教可能是什麼問題 因為我對這方面沒有經驗(連下手都不知道怎下手) : 感激各位... : 則我想法如下: : if (reset = '1') then : DIFN <= (others => '0'); : DIFP <= (others => '0'); : DIFPP <= (others => '0'); : DIF_CN <= (others => '0'); : DIF_CP <= (others => '0'); : DIF_CPP <= (others => '0'); : zero_command <= "010100101111000110101001"; --1.62V 平衡點位置 : elsif rising_edge(clkin) then : DIF <= data_read_possense; : DIFN <= ( DIF(23)) & DIF(22 downto 0); : Kin1_R1 <= DIFN(23) & DIFN(13 downto 0) & "000000000"; --512倍 : Kin1_R2 <= DIFN(23) & DIFN(14 downto 0) & "00000000"; --256倍 : Kin1_R3 <= DIFN(23) & DIFN(15 downto 0) & "0000000"; --128倍 : Kin1_R4 <= DIFN(23) & DIFN(16 downto 0) & "000000"; --64倍 : Kin1_R5 <= DIFN(23) & DIFN(17 downto 0) & "00000"; --32倍 : Kin1_R6 <= DIFN(23) & DIFN(18 downto 0) & "0000"; --16倍 : Kin1_R7 <= DIFN(23) & DIFN(19 downto 0) & "000"; --8倍 : Kin1_R8 <= DIFN(23) & DIFN(20 downto 0) & "00"; --4倍 : Kin1_R9 <= DIFN(23) & DIFN(21 downto 0) & "0"; --2倍 : Kin1_R10 <= DIFN(23) & DIFN(22 downto 0); --1倍 : Kin1_R11 <= DIFN(23) & "0" & DIFN(22 downto 1); --0.5倍 : Kin1_R12 <= DIFN(23) & "00" & DIFN(22 downto 2); --0.25倍 : Kin1_R13 <= DIFN(23) & "000" & DIFN(22 downto 3); --0.125倍 : KIn1_R14 <= DIFN(23) & "0000" & DIFN(22 downto 4); --0.0625倍 : Kin1_R15 <= DIFN(23) & "00000" & DIFN(22 downto 5); --0.03125倍 : Kin1_R16 <= DIFN(23) & "000000" & DIFN(22 downto 6); --0.015625倍 : Kin1_R17 <= DIFN(23) & "0000000" & DIFN(22 downto 7); --0.0078125倍 : Kin1_R18 <= DIFN(23) & "00000000" & DIFN(22 downto 8); --0.00390625倍 : Kin1_R19 <= DIFN(23) & "000000000" & DIFN(22 downto 9); --0.0019531250 倍 : Kin1_R20 <= DIFN(23) & "0000000000" & DIFN(22 downto 10); --0.0009765625 倍 : Kin1_R21 <= DIFN(23) & "00000000000" & DIFN(22 downto 11); --0.0004882813倍 : Kin1_R22 <= DIFN(23) & "000000000000" & DIFN(22 downto 12); --0.00024414063倍 : Kin1_R23 <= DIFN(23) & "0000000000000" & DIFN(22 downto 13); --0.0001220703 倍 : Kin1_R24 <= DIFN(23) & "00000000000000" & DIFN(22 downto 14); --0.0000610352 倍 : Kin1_R25 <= DIFN(23) & "000000000000000" & DIFN(22 downto 15); --0.0000305176 倍 : Kin1_R26 <= DIFN(23) & "0000000000000000" & DIFN(22 downto 16); --0.0000152588 倍 : Kin1_R27 <= DIFN(23) & "00000000000000000" & DIFN(22 downto 17); --0.0001220703 倍 : Kin1_R28 <= DIFN(23) & "000000000000000000" & DIFN(22 downto 18); --0.0000610352 倍 : Kin1_R29 <= DIFN(23) & "0000000000000000000" & DIFN(22 downto 19); --0.0000305176 倍 : Kin1_R30 <= DIFN(23) & "00000000000000000000" & DIFN(22 downto 20); --0.0000152588 倍 : Kin1_R31 <= DIFN(23) & "000000000000000000000" & DIFN(22 downto 21); --0.0000152588 倍 : Kin1_R32 <= DIFN(23) & "0000000000000000000000" & DIFN(22); --0.0000152588 倍 : Kin2_R1 <= DIFP(23) & DIFP(13 downto 0) & "000000000"; --512倍 : Kin2_R2 <= DIFP(23) & DIFP(14 downto 0) & "00000000"; --256倍 : Kin2_R3 <= DIFP(23) & DIFP(15 downto 0) & "0000000"; --128倍 : Kin2_R4 <= DIFP(23) & DIFP(16 downto 0) & "000000"; --64倍 : Kin2_R5 <= DIFP(23) & DIFP(17 downto 0) & "00000"; --32倍 : Kin2_R6 <= DIFP(23) & DIFP(18 downto 0) & "0000"; --16倍 : Kin2_R7 <= DIFP(23) & DIFP(19 downto 0) & "000"; --8倍 : Kin2_R8 <= DIFP(23) & DIFP(20 downto 0) & "00"; --4倍 : Kin2_R9 <= DIFP(23) & DIFP(21 downto 0) & "0"; --2倍 : Kin2_R10 <= DIFP(23) & DIFP(22 downto 0); --1倍 : Kin2_R11 <= DIFP(23) & "0" & DIFP(22 downto 1); --0.5倍 : Kin2_R12 <= DIFP(23) & "00" & DIFP(22 downto 2); --0.25倍 : Kin2_R13 <= DIFP(23) & "000" & DIFP(22 downto 3); --0.125倍 : Kin2_R14 <= DIFP(23) & "0000" & DIFP(22 downto 4); --0.0625倍 : Kin2_R15 <= DIFP(23) & "00000" & DIFP(22 downto 5); --0.03125倍 : Kin2_R16 <= DIFP(23) & "000000" & DIFP(22 downto 6); --0.015625倍 : Kin2_R17 <= DIFP(23) & "0000000" & DIFP(22 downto 7); --0.0078125倍 : Kin2_R18 <= DIFP(23) & "00000000" & DIFP(22 downto 8); --0.00390625倍 : Kin2_R19 <= DIFP(23) & "000000000" & DIFP(22 downto 9); --0.0019531250 倍 : Kin2_R20 <= DIFP(23) & "0000000000" & DIFP(22 downto 10); --0.0009765625 倍 : Kin2_R21 <= DIFP(23) & "00000000000" & DIFP(22 downto 11); --0.0004882813倍 : Kin2_R22 <= DIFP(23) & "000000000000" & DIFP(22 downto 12); --0.00024414063倍 : Kin2_R23 <= DIFP(23) & "0000000000000" & DIFP(22 downto 13); --0.0001220703 倍 : Kin2_R24 <= DIFP(23) & "00000000000000" & DIFP(22 downto 14); --0.0000610352 倍 : Kin2_R25 <= DIFP(23) & "000000000000000" & DIFP(22 downto 15); --0.0000305176 倍 : Kin2_R26 <= DIFP(23) & "0000000000000000" & DIFP(22 downto 16); --0.0000152588 倍 : Kin6_R1 <= DIFPP(23) & DIFPP(13 downto 0) & "000000000"; --512倍 : Kin6_R2 <= DIFPP(23) & DIFPP(14 downto 0) & "00000000"; --256倍 : Kin6_R3 <= DIFPP(23) & DIFPP(15 downto 0) & "0000000"; --128倍 : Kin6_R4 <= DIFPP(23) & DIFPP(16 downto 0) & "000000"; --64倍 : Kin6_R5 <= DIFPP(23) & DIFPP(17 downto 0) & "00000"; --32倍 : Kin6_R6 <= DIFPP(23) & DIFPP(18 downto 0) & "0000"; --16倍 : Kin6_R7 <= DIFPP(23) & DIFPP(19 downto 0) & "000"; --8倍 : Kin6_R8 <= DIFPP(23) & DIFPP(20 downto 0) & "00"; --4倍 : Kin6_R9 <= DIFPP(23) & DIFPP(21 downto 0) & "0"; --2倍 : Kin6_R10 <= DIFPP(23) & DIFPP(22 downto 0); --1倍 : Kin6_R11 <= DIFPP(23) & "0" & DIFPP(22 downto 1); --0.5倍 : Kin6_R12 <= DIFPP(23) & "00" & DIFPP(22 downto 2); --0.25倍 : Kin6_R13 <= DIFPP(23) & "000" & DIFPP(22 downto 3); --0.125倍 : Kin6_R14 <= DIFPP(23) & "0000" & DIFPP(22 downto 4); --0.0625倍 : Kin6_R15 <= DIFPP(23) & "00000" & DIFPP(22 downto 5); --0.03125倍 : Kin6_R16 <= DIFPP(23) & "000000" & DIFPP(22 downto 6); --0.015625倍 : Kin6_R17 <= DIFPP(23) & "0000000" & DIFPP(22 downto 7); --0.0078125倍 : Kin6_R18 <= DIFPP(23) & "00000000" & DIFPP(22 downto 8); --0.00390625倍 : Kin6_R19 <= DIFPP(23) & "000000000" & DIFPP(22 downto 9); --0.0019531250 倍 : Kin6_R20 <= DIFPP(23) & "0000000000" & DIFPP(22 downto 10); --0.0009765625 倍 : Kin6_R21 <= DIFPP(23) & "00000000000" & DIFPP(22 downto 11); --0.0004882813倍 : Kin6_R22 <= DIFPP(23) & "000000000000" & DIFPP(22 downto 12); --0.00024414063倍 : Kin6_R23 <= DIFPP(23) & "0000000000000" & DIFPP(22 downto 13); --0.0001220703 倍 : Kin6_R24 <= DIFPP(23) & "00000000000000" & DIFPP(22 downto 14); --0.0000610352 倍 : Kin6_R25 <= DIFPP(23) & "000000000000000" & DIFPP(22 downto 15); --0.0000305176 倍 : Kin6_R26 <= DIFPP(23) & "0000000000000000" & DIFPP(22 downto 16); --0.0000152588 倍 : Kout2_R1 <= DIF_CP(23) & DIF_CP(13 downto 0) & "000000000"; --512倍 : Kout2_R2 <= DIF_CP(23) & DIF_CP(14 downto 0) & "00000000"; --256倍 : Kout2_R3 <= DIF_CP(23) & DIF_CP(15 downto 0) & "0000000"; --128倍 : Kout2_R4 <= DIF_CP(23) & DIF_CP(16 downto 0) & "000000"; --64倍 : Kout2_R5 <= DIF_CP(23) & DIF_CP(17 downto 0) & "00000"; --32倍 : Kout2_R6 <= DIF_CP(23) & DIF_CP(18 downto 0) & "0000"; --16倍 : Kout2_R7 <= DIF_CP(23) & DIF_CP(19 downto 0) & "000"; --8倍 : Kout2_R8 <= DIF_CP(23) & DIF_CP(20 downto 0) & "00"; --4倍 : Kout2_R9 <= DIF_CP(23) & DIF_CP(21 downto 0) & "0"; --2倍 : Kout2_R10 <= DIF_CP(23) & DIF_CP(22 downto 0); --1倍 : Kout2_R11 <= DIF_CP(23) & "0" & DIF_CP(22 downto 1); --0.5倍 : Kout2_R12 <= DIF_CP(23) & "00" & DIF_CP(22 downto 2); --0.25倍 : Kout2_R13 <= DIF_CP(23) & "000" & DIF_CP(22 downto 3); --0.125倍 : Kout2_R14 <= DIF_CP(23) & "0000" & DIF_CP(22 downto 4); --0.0625倍 : Kout2_R15 <= DIF_CP(23) & "00000" & DIF_CP(22 downto 5); --0.03125倍 : Kout2_R16 <= DIF_CP(23) & "000000" & DIF_CP(22 downto 6); --0.015625倍 : Kout2_R17 <= DIF_CP(23) & "0000000" & DIF_CP(22 downto 7); --0.0078125倍 : Kout2_R18 <= DIF_CP(23) & "00000000" & DIF_CP(22 downto 8); --0.00390625倍 : Kout2_R19 <= DIF_CP(23) & "000000000" & DIF_CP(22 downto 9); --0.0019531250 倍 : Kout2_R20 <= DIF_CP(23) & "0000000000" & DIF_CP(22 downto 10); --0.0009765625 倍 : Kout2_R21 <= DIF_CP(23) & "00000000000" & DIF_CP(22 downto 11); --0.0004882813倍 : Kout2_R22 <= DIF_CP(23) & "000000000000" & DIF_CP(22 downto 12); --0.00024414063倍 : Kout2_R23 <= DIF_CP(23) & "0000000000000" & DIF_CP(22 downto 13); --0.0001220703 倍 : Kout2_R24 <= DIF_CP(23) & "00000000000000" & DIF_CP(22 downto 14); --0.0000610352 倍 : Kout2_R25 <= DIF_CP(23) & "000000000000000" & DIF_CP(22 downto 15); --0.0000305176 倍 : Kout2_R26 <= DIF_CP(23) & "0000000000000000" & DIF_CP(22 downto 16); --0.0000152588 倍 : Kout2_R27 <= DIF_CP(23) & "00000000000000000" & DIF_CP(22 downto 17); --0.0019531250 倍 : Kout2_R28 <= DIF_CP(23) & "000000000000000000" & DIF_CP(22 downto 18); --0.0009765625 倍 : Kout2_R29 <= DIF_CP(23) & "0000000000000000000" & DIF_CP(22 downto 19); --0.0004882813倍 : Kout6_R1 <= DIF_CPP(23) & DIF_CPP(13 downto 0) & "000000000"; --512倍 : Kout6_R2 <= DIF_CPP(23) & DIF_CPP(14 downto 0) & "00000000"; --256倍 : Kout6_R3 <= DIF_CPP(23) & DIF_CPP(15 downto 0) & "0000000"; --128倍 : Kout6_R4 <= DIF_CPP(23) & DIF_CPP(16 downto 0) & "000000"; --64倍 : Kout6_R5 <= DIF_CPP(23) & DIF_CPP(17 downto 0) & "00000"; --32倍 : Kout6_R6 <= DIF_CPP(23) & DIF_CPP(18 downto 0) & "0000"; --16倍 : Kout6_R7 <= DIF_CPP(23) & DIF_CPP(19 downto 0) & "000"; --8倍 : Kout6_R8 <= DIF_CPP(23) & DIF_CPP(20 downto 0) & "00"; --4倍 : Kout6_R9 <= DIF_CPP(23) & DIF_CPP(21 downto 0) & "0"; --2倍 : Kout6_R10 <= DIF_CPP(23) & DIF_CPP(22 downto 0); --1倍 : Kout6_R11 <= DIF_CPP(23) & "0" & DIF_CPP(22 downto 1); --0.5倍 : Kout6_R12 <= DIF_CPP(23) & "00" & DIF_CPP(22 downto 2); --0.25倍 : Kout6_R13 <= DIF_CPP(23) & "000" & DIF_CPP(22 downto 3); --0.125倍 : Kout6_R14 <= DIF_CPP(23) & "0000" & DIF_CPP(22 downto 4); --0.0625倍 : Kout6_R15 <= DIF_CPP(23) & "00000" & DIF_CPP(22 downto 5); --0.03125倍 : Kout6_R16 <= DIF_CPP(23) & "000000" & DIF_CPP(22 downto 6); --0.015625倍 : Kout6_R17 <= DIF_CPP(23) & "0000000" & DIF_CPP(22 downto 7); --0.0078125倍 : Kout6_R18 <= DIF_CPP(23) & "00000000" & DIF_CPP(22 downto 8); --0.00390625倍 : Kout6_R19 <= DIF_CPP(23) & "000000000" & DIF_CPP(22 downto 9); --0.0019531250 倍 : Kout6_R20 <= DIF_CPP(23) & "0000000000" & DIF_CPP(22 downto 10); --0.0009765625 倍 : Kout6_R21 <= DIF_CPP(23) & "00000000000" & DIF_CPP(22 downto 11); --0.0004882813倍 : Kout6_R22 <= DIF_CPP(23) & "000000000000" & DIF_CPP(22 downto 12); --0.00024414063倍 : Kout6_R23 <= DIF_CPP(23) & "0000000000000" & DIF_CPP(22 downto 13); --0.0001220703 倍 : Kout6_R24 <= DIF_CPP(23) & "00000000000000" & DIF_CPP(22 downto 14); --0.0000610352 倍 : Kout6_R25 <= DIF_CPP(23) & "000000000000000" & DIF_CPP(22 downto 15); --0.0000305176 倍 : Kout6_R26 <= DIF_CPP(23) & "0000000000000000" & DIF_CPP(22 downto 16); --0.0000152588 倍 : Kout6_R27 <= DIF_CPP(23) & "00000000000000000" & DIF_CPP(22 downto 17); --0.0019531250 倍 : Kout6_R28 <= DIF_CPP(23) & "000000000000000000" & DIF_CPP(22 downto 18); --0.0009765625 倍 : Kout6_R29 <= DIF_CPP(23) & "0000000000000000000" & DIF_CPP(22 downto 19); --0.0004882813倍 : DIF_CN <= (Kin6_R7 + Kin6_R8 + Kin6_R9 + Kin6_R10 + Kin6_R12 + Kin6_R13 + Kin6_R14 + Kin6_R17 + Kin6_R18 + Kin6_R21 + Kin6_R22) : -(Kin2_R7 + Kin2_R8 + Kin2_R9 + Kin2_R10 + Kin2_R12 + Kin2_R13 + Kin2_R14 + Kin2_R17 + Kin2_R18 + Kin2_R21 + Kin2_R22) : +(Kout2_R14 + Kout2_R15 + Kout2_R16 + Kout2_R18 + Kout2_R22 + Kout2_R23 + Kout2_R25 + Kout2_R26 + Kout2_R27) : -(Kin1_R20 + Kin1_R24 + Kin1_R25 + Kin1_R27 + Kin1_R28 + Kin1_R29 + Kin1_R31 + Kin1_R32) : -(Kout6_R19 + Kout6_R20 + Kout6_R22 + Kout6_R25 + Kout6_R26 + Kout2_R27 + Kout2_R28 + Kout2_R29); : DIF_CPP <= DIF_CP; : DIF_CP <= DIF_CN; : DIFPP <= DIFP; : DIFP <= DIFN; --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.156.79







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS 或 站內搜尋

TOP