癫痫可以用DDS

鉴别几种假性卒中常见病_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
鉴别几种假性卒中常见病
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩12页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢用FPGA实现DDS任意波形发生器
DDS直接数字式频率合成器(Direct Digital Synthesizer),相信所有人看到这个名字就觉得不会陌生。有些资料讲述的方式太高大上,不少人一时半会接受不了。本篇文章从双口RAM入手,由浅入深脱掉DDS高大上的外衣。
基本原理框图:
两个关键术语:
& & & &a. 相位累加器:Phase = Phase + freq_ctrl,可以暂且理解为i = i + 1一样的东西。
& & & &b. 频率控制字:freq_ctrl,这个东西的值直接影响输出信号的频率。
假设系统工作时钟(查表时钟)为150MHz,ROM表深度为4096,存储波形为1个周期(如正弦波每周期抽样量化为4096个点),也就是一个周期的波形由4096个采样点组成,意味着输出波形一个周期最多4096个采样点。比如Data输出10M的正弦波,输出的正弦波每周期只有15个采样点;而输出1M的正弦波,每周期将有150个采样点;我们也可以知道当输出频率小于等于36.621KHz时,输出波形每周期由4096个点构成。输出信号的每周期点越多,阶梯效过越不明显,经过低通滤波器后波形越好看。
如果freq_ctrl为1时,那么输出信号为150MHz/KHz,如果freq_ctrl为2时,那么输出信号为150MHz*2/KHz。因此当需要输出正弦波频率为fout MHz时,
Fout = 150MHz*freq_ctrl/4096,所以freq_ctrl = Fout*MHz。
如果上面的大家都理解了,那么恭喜你已经完全理解了DDS的核心部分。至于其他DDS相关的内如,比如频率分辨率(因为rom地址必须是整数,所以freq_ctrl必须是整数,所以上例的频率分辨率为),旁瓣抑制比(量化多1bit,多6db = 20lg2)……(╯-_-)╯╧╧
好了理解了上面,下面来一个FPGA工程实现一个DDS。
工程目标:通过SPI可以配置RAM的值,通过SPI配置频率控制字,输出数据给DAC,同时提供随路时钟。此工程可外接MCU通过任何你想得到的方式配置用户想输出的周期信号(不仅仅只是sin、cos、方波、锯齿、三角,可以是任何波形哦)。
软件环境vivado2014.2
1. 新建工程
a) 使用MMCM将时钟3倍频
b) 例化真双口RAM 16bitsx4096
3. 直接贴代码
module dds_top(
input wire i_clk,//50M
input wire i_rst,
input wire i_spi_sclk,
input wire i_spi_miso,
input wire i_spi_nss,
output wire o_dac_clk,
output wire [15:0]o_dac_data
//main clk,150M
wire mmcm_
wire asy_rst_
reg [7:0]asy_rst_
reg [7:0]spi_sclk_
reg [7:0]spi_miso_
reg [7:0]spi_nss_
wire spi_sclk_
wire spi_nss_
wire spi_nss_
reg [14:0]spi_
reg [15:0]spi_
reg [7:0]spi_
reg [31:0]spi_miso_
reg [15:0]spi_cnt_
reg [11:0]//phase: 0-4095
///////////////////clk and reset///////////////////
clk_wiz u_clk_wiz
// Clock in ports
.clk_in1 ( i_clk ),//50M
// Clock out ports
.clk_out1 ( clk ),
// Status and control signals
( i_rst ),
( mmcm_locked )
assign asy_rst_wire = i_rst | (~mmcm_locked);
always@(posedge clk or posedge i_rst)
asy_rst_reg &= 8'd0;
asy_rst_reg &= {asy_rst_reg[6:0],asy_rst_wire};
assign asy_rst = asy_rst_reg[7];
/////////////////// spi
input ///////////////////
//spi frame 32bit
// [31] [30:16] [15:0]
always@(posedge clk or posedge asy_rst)
if(asy_rst)
spi_sclk_reg &= 8'd0;
spi_miso_reg &= 8'd0;
spi_nss_reg &= 8'd0;
spi_sclk_reg &= {spi_sclk_reg[6:0],i_spi_sclk};
spi_miso_reg &= {spi_miso_reg[6:0],i_spi_miso};
spi_nss_reg &= {spi_nss_reg[6:0],i_spi_nss};
//get sclk posedge
assign spi_sclk_pos = ~spi_sclk_reg[7] & spi_sclk_reg[6] ;
//get nss negedge & posedge
assign spi_nss_neg = spi_nss_reg[6] & ~spi_nss_reg[5] ;
assign spi_nss_pos = ~spi_nss_reg[6] & spi_nss_reg[5] ;
always@(posedge clk or posedge asy_rst)
if(asy_rst)
spi_cnt &= 8'd0;
else if(spi_nss_neg)
spi_cnt &= 8'd0;
else if(spi_sclk_pos)
spi_cnt &= spi_cnt + 1'b1;
spi_cnt &= spi_
always@(posedge clk or posedge asy_rst)
if(asy_rst)
spi_miso_data &= 32'd0;
else if(spi_nss_neg)
spi_miso_data &= 32'd0;
else if(spi_sclk_pos)
spi_miso_data &= {spi_miso_data[30:0],spi_miso_reg[6]};
spi_miso_data &= spi_miso_
always@(posedge clk or posedge asy_rst)
if(asy_rst)
spi_addr &= 15'd0;
spi_data &= 16'd0;
if(spi_cnt == 8'd32)
spi_addr &= spi_miso_data[30:16];
spi_data &= spi_miso_data[15:0];
spi_addr &= 15'd0;
spi_data &= 16'd0;
always@(posedge clk or posedge asy_rst)
if(asy_rst)
spi_cnt_reg &= 16'd0;
spi_cnt_reg &= {spi_cnt_reg[7:0],spi_cnt[7:0]};
//address 0-4095 for dds_ram
always@(posedge clk or posedge asy_rst)
if(asy_rst)
spi_wen &= 1'b0;
else if(spi_cnt_reg == {8'd31,8'd32} && spi_miso_data[31:28] == 4'b1000)
spi_wen &= 1'b1;
spi_wen &= 1'b0;
//address , reserved
//address 16384 for freq control,low 12bits
reg [15:0]freq_ctrl_
always@(posedge clk or posedge asy_rst)
if(asy_rst)
freq_ctrl_reg &= 16'd0;
else if(spi_cnt_reg == {8'd31,8'd32} && spi_miso_data[31:16] == {1'b1,15'd16384})
freq_ctrl_reg &= spi_miso_data[15:0];
freq_ctrl_reg &= freq_ctrl_
////////////////////////dpram////////////////////////
dds_ram u_dds_ram (
( spi_wen ),
.addra ( spi_addr[11:0] ),//4096-12bit
( spi_data ),
.addrb ( phase ),//4096-12bit
( 16'd0 ),
.doutb ( o_dac_data )
always@(posedge clk or posedge asy_rst)
if(asy_rst)
phase &= 12'd0;
phase &= phase + freq_ctrl_reg[11:0];
.DDR_CLK_EDGE("SAME_EDGE"), // "OPPOSITE_EDGE" or "SAME_EDGE"
.INIT(1'b0),
// Initial value of Q: 1'b0 or 1'b1
.SRTYPE("SYNC") // Set/Reset type: "SYNC" or "ASYNC"
) ODDR_inst (
.Q(o_dac_clk),
// 1-bit DDR output
// 1-bit clock input
.CE(1'b1), // 1-bit clock enable input
.D1(1'b1), // 1-bit data input (positive edge)
.D2(1'b0), // 1-bit data input (negative edge)
.R(asy_rst),
// 1-bit reset
// 1-bit set
4. 时序和管脚约束
create_clock -period 6.667 -name clk150 -waveform {0.000 3.333} -add [get_nets clk]
set_property PACKAGE_PIN V4 [get_ports i_clk]
set_property PACKAGE_PIN V3 [get_ports i_rst]
set_property PACKAGE_PIN V2 [get_ports i_spi_miso]
set_property PACKAGE_PIN W2 [get_ports i_spi_nss]
set_property PACKAGE_PIN W1 [get_ports i_spi_sclk]
set_property PACKAGE_PIN W4 [get_ports o_dac_clk]
set_property PACKAGE_PIN AB1 [get_ports {o_dac_data[15]}]
set_property PACKAGE_PIN AB2 [get_ports {o_dac_data[14]}]
set_property PACKAGE_PIN AB3 [get_ports {o_dac_data[13]}]
set_property PACKAGE_PIN AA1 [get_ports {o_dac_data[12]}]
set_property PACKAGE_PIN AA3 [get_ports {o_dac_data[11]}]
set_property PACKAGE_PIN Y1 [get_ports {o_dac_data[10]}]
set_property PACKAGE_PIN Y2 [get_ports {o_dac_data[9]}]
set_property PACKAGE_PIN Y3 [get_ports {o_dac_data[8]}]
set_property PACKAGE_PIN AA4 [get_ports {o_dac_data[7]}]
set_property PACKAGE_PIN U1 [get_ports {o_dac_data[6]}]
set_property PACKAGE_PIN U2 [get_ports {o_dac_data[5]}]
set_property PACKAGE_PIN T1 [get_ports {o_dac_data[4]}]
set_property PACKAGE_PIN R1 [get_ports {o_dac_data[3]}]
set_property PACKAGE_PIN R2 [get_ports {o_dac_data[2]}]
set_property PACKAGE_PIN P1 [get_ports {o_dac_data[1]}]
set_property PACKAGE_PIN P2 [get_ports {o_dac_data[0]}]
5. 实现报告
一个可配波形的DDS就这么简单!我们可以将多个简单的程序放在一起,比如增加幅度控制、正交调制、载波相乘、触发控制等配合依托MCU的交互界面和功放,就变成了一个复杂的信号源了。
6. vivado仿真
参照SPI时序,编写testbench,本例中通过SPI接口配置了两次频率控制字,第一次配置为1(频率为36.621KHz),第二次配置为8(频率为4.687MHz)。通过仿真结果可以观察到SPI时序正确,频率控制字配置正确,输出波形频率满足期望。
此图中输入50MHz时钟对应一周期为10ns,倍频后150MHz时钟对应一周期为3.333ns,
图中()/3.333 = 4096,因此频率与预期一致。
PS:vivado simulator&的仿真效果不错,就是速度与专业仿真软件modelsim/questasim相比没那么给力。当然,如果是用第三方软件仿真需要编译库才可使用。
编译库使用compile_simlib命令:&
例&compile_simlib -simulator modelsim -family virtex7 -library unisim -library simprim -language vhdl
我喜欢&compile_simlib -simulator modelsim -family virtex7 -library&all&-language all
编译好的库保存在当前工程目录内,可以拷出来通过修改modelsim.ini 文件,使modelsim直接支持对应的库,免得以后再编译。
关注微信公众号谁知道dds文件用什么软件打开啊?_百度知道医院>肿瘤医院
发表时间: 22:51&&
什么叫生物电疗法
年龄:44岁
病情描述及疑问:如果当地没有条件做leep刀的治疗,电疗法(是不是等同于电熨法)治宫颈糜烂一般需要几次,每次需要多长时间,能根治吗?得了癫痫病十几年了用了许多方法,但是总是不见效果,最近生物电贯通疗法满出名的到底怎么样呢?能不能根治我的癫痫病呢?什么叫生物电疗法?
发病时间:不清楚
补充提问(补充提问细节,有助于医生为您详尽解答!)
关于 什么叫生物电疗法 相似问题
有545人关注
得了癫痫病十几年了用了许多方法,但是总是不见效果,最近生物电贯通疗法满出名的到底怎么样呢?能不能根治我的癫痫病呢?什么叫生物电疗法?...
有568人关注
接触了一个类似理疗的方法,叫生物电疗法,感觉还行,收费一次半个小时左右五百元还行吗?生物电疗法到底好不好?生物电疗法是什么?靠谱吗?
有903人关注
那个生物电渗吸疗法是不是骗人的???去试用这个所谓的生物电渗吸疗法来治疗肩周炎和鼻炎管用吗?
有417人关注
什么叫生物电疗法有407人关注 dds生物电疗法有858人关注 想了解人体生物电经络疗法,人体生物电经络疗法跟普通的疗法有区别吗?谁对于人体生物电经络疗法有了解的,可...
有730人关注
我患有前列腺炎很长时间了,最近一段时间严重了,有时候会尿频,尿急,尿痛,很不舒服,让我非常苦恼,医生说可以进行生物电疗法治疗,效果比较好,请问能介绍一下前列腺...
有871人关注
什么叫生物电疗法有784人关注 dds生物电疗法有858人关注 想了解人体生物电经络疗法,人体生物电经络疗法跟普通的疗法有区别吗?谁对于人体生物电经络疗法有了解的,可...
有214人关注
你好,请问哪里可以做生物电疗法?做生物电疗对身体有危害么?... 病情描述及疑问:你好,请问哪里可以做生物电疗法?...建议:问题分析: 你好,这个是没有什么危害的,但是...
有730人关注
dds生物电疗法是什么?生物电疗法能打开人体和经络吗?生物电疗法是什么?靠谱吗?请问医生可以告诉我dds生物电疗法
有697人关注
那个生物电渗吸疗法是不是骗人的???去试用这个所谓的生物电渗吸疗法来治疗肩周炎和鼻炎管用吗?
有422人关注
什么叫生物电疗法有629人关注 dds生物电理疗有821人关注 dds生物电治疗仪是怎么样操作的啊,生病了不知道有什么方法治疗的啊,什么是生物...建议:你好,生物电DDS...
发表时间: 22:50
建议:"不是,电疗和电熨法的作用机理不一样,治疗的范围也不一样,电疗针对性比较强些,对于宫颈糜烂根据病情的不同程度,和用药有关,一般2-3个疗程能能见到比较理想的效果宫颈糜烂是指宫颈外口处的宫颈阴道部外观呈细颗粒状的红色区。注意外阴清洁卫生,避免新性乱。可以以局部治疗为主,可采用物理治疗、药物治疗及手术治疗。
只要注意防护是没有什么问题的,关键是要有一个好的老师,懂得怎么操作,怎么防护.其实体控电疗仪也是中频治疗仪的一种,只要正常使用是不会有任何问题的,只要按照说明书操作就行,当然如果能有人当面教就更好了.
电疗法是在一定反应点上通过电流使患者的经络在瞬间强迫打通,使之达到“通则不痛”的目的.健康的人体细胞运动有规律,发挥着各种组织器官营卫的作用,相反人体有病部位细胞分子排列会发生紊乱,运动时失去规律和平衡那么就达不到协调内外平衡阴阳作用.电疗法则能使有病部位细胞内的分子重新排列,变无序为有序,变无规律运动为有规律运动,达到其协调内外平衡阴阳的目的,人体通过经络疗法后体内 CO2 会转化为臭氧,使身体得到净化,起合理调整作用."
评价成功! +1
发表时间: 22:50
建议:"失眠多数是由于紧张压力或是精神因素造成的,最好采取自然疗法。
可以使用放松训练或催眠CD,加强活动与锻炼放松身心对失眠有改善提高睡眠质量。肩周炎是肩关节周围肌肉、韧带、肌腱、滑囊、关节囊等软组织损伤、退变而引起的关节囊和关节周围软组织的一种慢性无菌性炎症。
您可以采取热敷或理疗,以消炎,退肿和止痛,或者采用肩部手法推拿与按摩,以舒筋活血,松解粘连,也有用拔火罐及针灸等疗法,如果疼痛比较严重的话可以尊医嘱用确炎舒松药液或醋酸考的松药液封闭治疗,有立竿见影功效.
生物电疗法是一种特殊的保健康复新方法,不打针、不吃药、没有任何副作用,
采用修复受损神经元细胞的治疗方案针对受损神经元进行一个靶向的有效修复,可以完全修复受损神经元细胞,彻底杜绝癫痫的发作。"
评价成功! +1
十大 宫颈糜烂 相关搜索
十大 癫痫 相关搜索
十大 肩周炎 相关搜索
十大 软组织损伤 相关搜索
想了解提问步骤?请查看   
回复内容不能少于20个汉字!
我来回答(您的热心回复将给予患者非常有用的指导)
问题已经结束,欢迎继续讨论!
(Ctrl+Enter快速提交)
最热议的10大问题
什么叫生物电疗法 相关专题
记住我的登录状态
你还可以选择:
还没有帐号? 
经典答案设置提示
成功设置经典答案!
您当前投诉的是网友的提问
投诉类型:
无意义提问
投诉类型:
无意义回答
附加说明:
请放心,您的隐私将得到保护
您的投诉已受理,请耐心等待管理员审核,感谢您对39健康问答的帮助。
系统出错,请稍后再试,谢谢!
问题收藏提示
您成功收藏了该问题!

我要回帖

更多关于 dds生物电疗法副作用 的文章

 

随机推荐