发新帖我要提问
12
返回列表
打印
[开发工具]

STM32与工业CCD光谱

[复制链接]
楼主: 東南博士
手机看帖
扫描二维码
随时随地手机跟帖
21
東南博士|  楼主 | 2019-10-25 15:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览

使用特权

评论回复
22
東南博士|  楼主 | 2019-10-25 15:00 | 只看该作者
    TCD 1304的驱动时序如图3.5所示,信号线为ICG,  SH,  CLK,  OS。主时
钟最大为4M,每4个时钟周期AD采样一次,为了保证AD采样时间上的准确
性,避免出现在OS改变输出时采样,用clk/4的定时器触发AD采样,产生2MHz
的时钟则电平翻转的频率为4M,速度较快,因此采用一个定时器直接翻转电平,
STM32f207主频为120MHz,定时器TIM3挂在APB1时钟总线上,为60M,  15
分频后获得clk=60/ 15/2=2M的时钟信号。若要实现4M的时钟,可以选择在
120MHz的APB2时钟总线上的定时器,15分频,定时器选择输出比较匹配模式,
将PA6设置为第二功能,比较匹配时PA6电平翻转。不使能中断,若使用中断
服务子程序,会消耗较多的CPUo ICG和SH用TIM3和TIM8的PWM(脉冲
宽度调制)来实现,可以实现脉宽和周期可调的脉冲波。由于TIM3是普通定时
器,TIM8是高级定时器,普通定时器的计数器位宽是16位,高级定时器的位宽
是32位,要实现7.4ms的长时间记时,按照60M的系统时钟来计算,显然16
位计数器只能记时65535* 16.66=1.091813ms的时间,显然不能满足的7.4ms的
像素读出时间要求;所以要对普通定时器的系统时钟进行100分频,使得定时器
的时钟变成了6M,这样,TIM3的定时长度可达1 OOms左右,基本满足了光谱
仪的长时间曝光要求。如图3.2所示,ICG和SH之间有一个相移时间t2,  t2的
典型值是SOOns,为了实现ICG和SH的相移关系,给产生ICG的定时器赋予一
个初始值,使得产生ICG的定时器在计数的时候,计数初值从设定的值开始,
也就是ICG和SH之间产生了一个延时,延时根据初值的大小来定。这样,就实
现了ICG和SH的相移关系。

使用特权

评论回复
23
東南博士|  楼主 | 2019-10-25 15:01 | 只看该作者
    在接收端,当接收到数据时,串行接口引擎SIE)将接收到的数据根据端
口号放到对应的数据缓冲区内。并给主机返回ACK命令,再产生中断,告诉主
机已经接收到了数据包。如果USB正在处理缓冲区数据的时候,收到了来自数
据发送端的发送请求,USB会返回一个NAK,告诉数据发送端,接收端忙。接
收端收到NAK后,会延时一段时间,再重新发送数据,一直反复执行这个过程,
直到超时为止。
    在数据发送端,当要发送数据时,先把要发送的数据写入发送缓冲区,并通
知总线发送缓冲区的数据已经准备好。同时总线通知接收端,如果接收端返回
ACK,就表示接收端己经接收数据完成,并且产生相应的中断执行数据处理操
作。如果接收端还未准备好,或者处于繁忙状态,会返回一个NAK,发送端等
待下次重新发送。

使用特权

评论回复
24
東南博士|  楼主 | 2019-10-25 15:01 | 只看该作者

使用特权

评论回复
25
東南博士|  楼主 | 2019-10-25 15:05 | 只看该作者

使用特权

评论回复
26
東南博士|  楼主 | 2019-10-25 15:07 | 只看该作者

使用特权

评论回复
27
東南博士|  楼主 | 2019-10-25 15:07 | 只看该作者

使用特权

评论回复
28
磨砂| | 2019-11-18 13:03 | 只看该作者
非常感谢楼主的分享

使用特权

评论回复
29
晓伍| | 2019-11-18 13:10 | 只看该作者
非常感谢楼主的分享

使用特权

评论回复
30
八层楼| | 2019-11-18 13:23 | 只看该作者
非常不错的资料

使用特权

评论回复
31
观海| | 2019-11-18 13:37 | 只看该作者
非常不错的资料

使用特权

评论回复
32
guanjiaer| | 2019-11-18 13:43 | 只看该作者
非常不错的帖子

使用特权

评论回复
33
小涛DZGZS| | 2020-6-5 15:02 | 只看该作者
非常不错的帖子

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则