4587|5

4

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

ucos-iii的多通道采集系统与显示 [复制链接]

 各位大神好~首先叙述一下我的设计内容:要基于ucos-iii做一个八通道的数据采集系统,第一个通道能采集最大18mv的电压,第二个通道能采集最大90mv的电压,其余的通道能采集最大3.3V的电压。最多同时用两个通道采集,另外还有对电压值进行曲线显示。以及按键输入电压值范围,若超过设置电压,则进行声光报警。
然后是我现在遇到的问题:1.在对ADC采集数据时,对数据的处理是需要根据滤波放大电路的传递函数确定的么?
                                      2.各个模块的初始化在模块的.C文件中编写,具体操作都需要在主函数中的任务函数中编写么?
                                      3.30Hz以内的电压一般采用多大的采样频率,需要使用硬件定时器来对其进行定时采样么?
                                      4.我的程序在运行的时候停在了读取DMA数据传输完成标志位的循环里;也就是完成标志位一直都没有变化。
                                      5.lcd背景显示界面和曲线显示界面应该一起放在一个任务中的while里面,还是背景放在main下边,曲线显示界面                                          放在任务中的while里面。
                                      6.6个按键和8个ADC通道的任务,是每一个按键和每一个通道都单独写一个任务,还是应该如何编写呢?
      问题有些多~~拜托大神们帮帮我~~大四做毕业设计,第一次接触到ucos-iii  编写程序时经常使程序卡死,不确定应该如何安排代码的位置才能使系统能正常运行。另外我这也有一些ucos-iii在stm32f103zet6板子上的程序,和书籍,需要的朋友也可以联系我。谢谢各位了

最新回复

嵌入式实时操作系统μC/OS组件以其高可靠性、优越的性能、清晰的源代码和优秀的文档而被认可,μC/OS软件符合严格地安全关键行业要求的标准,是用于功能安全、关键系统设计的理想选择!有什么问题可关注麦克泰技术更多干货   详情 回复 发表于 2019-7-24 16:46
点赞 关注
 

回复
举报

4

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
另外还有个问题,电压的采集与显示,是应该先采集再显示,这样的话采集任务和显示任务是不是得合并成一个任务来写了。    若要达到实时采集与显示,应该如何安排这两个任务呢??
 
 
 

回复

525

帖子

235

TA的资源

版主

板凳
 
1.问题中的数据处理是指把AD值转换成电压。
   采集不同范围电压,都需要将采样值放大到合适量程,比如你将最大18mV电压放大到3.3VREF的采样系统,大概放大180倍,再计算出AD对应的电压值即可。
2.函数在什么位置写是你自己决定的,良好的习惯是分模块来写,例如把按键相关操作函数放在key.c中,显示相关函数放在display.c中。
3.根据乃奎斯特采样定理,2倍的信号频率的采样率即可反映出信号的原始状态。但是肯定越高越详细,还原的越真实。
4.调试单片机请先将需要的模块单独调试通,再组合调试。
5.背景属于后台任务,曲线属于前台任务。肯定都需要刷新的,都需要再while中进行。
6.按键放在一个任务中。AD根据需求,对实时性要求高的可放在一个任务中,要求不高的放在一个任务中。
另外通过你问的问题大概能知道你是为了应付毕设临时学的单片机编程。
 
个人签名爱电子,爱生活
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

4
 
wsdymg 发表于 2018-4-27 00:06
1.问题中的数据处理是指把AD值转换成电压。
   采集不同范围电压,都需要将采样值放大到合适量程,比如你 ...

十分感谢你的回复~~其实单片机编程学了挺久了.....说来也很惭愧,以前编程都是用例程拼凑出来的,真正懂了的少之又少。  看了你的回答,还有几个问题想请教一下:
1.ADC采样前端我做了放大滤波的硬件电路,-3dB的带宽是30HZ左右,但是如果输入电压频率越大,输出的电压放大倍数会变小,会产生挺大的误差的,我听说需要在程序里面添加软件补偿来减小误差。但是具体软件补偿是只需要通过放大倍数计算还是需要加入传递函数来计算。
2.需要的模块都单独调试成功了的,但是组合起来的时候就会卡死在某些功能函数的while循环中,有什么在ucos-iii系统下的组合技巧么?
3.按键任务如果放在一个任务中是通过按键扫描的形式还是按键中断的模式呢?按键扫描模式对系统的实时性会有影响么?如果是按键中断模式的话,我看了ucos-iii的中断例程,它是在中断服务函数中发送中断信号到相应任务里面去执行中断任务的,是否使用外部中断的形式就必须通过传输中断信号的形式来执行任务?
4.电压的采集与显示曲线这一块,按流程来说应该是先采集数据,再显示曲线,这两个语句是应该写在一个任务中是么?
5.读取DMA的传输标志位,判断数据是否传输完毕这一个块重要么?程序里面加入了这一块就会卡死。
 
 
 

回复

1234

帖子

4

TA的资源

纯净的硅(高级)

5
 
先别说程序怎么弄 我觉得你连电路都不清楚

最大18mV的电压 光一个VREF基准电源就够你受的了

 
个人签名天地庄周马;江湖范蠡船。
个性签名还是放QQ号吧,2060347305,添加说明EEworld好友
 
 

回复

227

帖子

0

TA的资源

一粒金砂(高级)

6
 

嵌入式实时操作系统μC/OS组件以其高可靠性、优越的性能、清晰的源代码和优秀的文档而被认可,μC/OS软件符合严格地安全关键行业要求的标准,是用于功能安全、关键系统设计的理想选择!有什么问题可关注麦克泰技术更多干货

 
个人签名

欢迎关注“麦克泰技术”

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表