4385|14

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

散分 高手帮帮忙 [复制链接]

单片机是89C52系列,晶振11.0592。

要求具有以下功能:
1、双串口(其中一路为软件模拟)
2、24路输出和24路输入;
3、两路pwm输出
4、单总线
5、IIC总线
6、随时可能要扩展的其它功能。

这些功能都集中在一块单片机中,如何让它们能够稳定的工作?有没有好的软件框架?

最新回复

想过这个办法,不过我感觉难度不小,尤其是IIC总线那些微妙级的延时。而且虚拟串口由于要匹配其它设备的通讯速率,定时器时间已经几乎快到极限(并且为了省一个外部中断口,虚拟串口采用的查询方式。采样速率是通讯速率的3倍)。  详情 回复 发表于 2009-12-25 16:21
点赞 关注

回复
举报

84

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
忘了说了,还有
7、红外接收
 
 

回复

86

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
功能很强大; 呵呵

首先上述功能都能实现。
52 就32个GPIO; 所以一般可考虑 才用2片52实现。
具体的软件架构,楼主可以先一个一个功能实现,然后确定彼此的逻辑关系,再合适的组合。

QQ:604914729  晚上详聊。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

4
 
单个功能,俺都实现了。以前系统用的两块cpu。
我们那个死老板,想节约成本,非要都做到一块单片机里。

我杀人的心都有了。
 
 
 

回复

63

帖子

2

TA的资源

一粒金砂(中级)

5
 
引用 3 楼 zhoushunda960 的回复:
单个功能,俺都实现了。以前系统用的两块cpu。
我们那个死老板,想节约成本,非要都做到一块单片机里。

我杀人的心都有了。


呵呵,这样啊!

我给你想想!
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

6
 
关键是这些功能模块本身对系统资源的要求是冲突的。

比如,在读IIC总线式为了保证严格是时序,需要关闭中断,但是在PWM输出(我们用作调光灯)中,定时器是不能关的,否则灯肯定会闪。还还没加那两个串口(一个虚拟串口)。

反正乱七八糟的一堆问题。功能实现都不是问题,问题是如何保证稳定的工作。头疼!

 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(初级)

7
 
其实你也可以先给 出硬件架构,

到时对比下成本, 说不定2个普通的52更便宜啊!

首先需要那么多对外输出输入,你肯定得IO扩展或者SPI转并口;这些便宜也不便宜啊

另外降成本不一定要将CPU,可以考虑降外围电路。

晚上QQ聊吧



 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

8
 
我只负责软件部分,硬件部分由别人负责。他们只管按照老板意图做,老板说怎么做,就怎么做。一点不为我们着想!
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

9
 
可以做的,只是要处理好各种中断之间的关系才能确保系统的稳定运行
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 ld6886 的回复:
可以做的,只是要处理好各种中断之间的关系才能确保系统的稳定运行



这位大哥,能给个思路么?
 
 
 

回复

64

帖子

0

TA的资源

一粒金砂(初级)

11
 
引用 7 楼 zhoushunda960 的回复:
我只负责软件部分,硬件部分由别人负责。他们只管按照老板意图做,老板说怎么做,就怎么做。一点不为我们着想!


这样的话,楼主 首先把上述功能一个一个实现,
然后确定彼此的逻辑关系,理清彼此的逻辑,与控制需求,再采用不同的中断优先级进行合适的组合。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

12
 
  最好是植入一个uC/OS-II系统,否则很难权衡啊。
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

13
 
确实比较难办,光软件模拟串口就要很多的中断了,还要PWM,还要总线,晕
 
 
 

回复

99

帖子

0

TA的资源

一粒金砂(初级)

14
 
引用 5 楼 zhoushunda960 的回复:
关键是这些功能模块本身对系统资源的要求是冲突的。

比如,在读IIC总线式为了保证严格是时序,需要关闭中断,但是在PWM输出(我们用作调光灯)中,定时器是不能关的,否则灯肯定会闪。还还没加那两个串口(一个虚拟串口)。

反正乱七八糟的一堆问题。功能实现都不是问题,问题是如何保证稳定的工作。头疼!

楼主可以考虑用定时器中断控制IO来模拟PWM.

定时中断产生一个基础的足够小的时间片中断, IIC和PWM及其他时序控制的总线都以此时间片中断为单位进行控制.

这样就不存在硬件资源冲突的问题.
 
 
 

回复

76

帖子

0

TA的资源

一粒金砂(中级)

15
 
引用 13 楼 flandy1982 的回复:
引用 5 楼 zhoushunda960 的回复:
关键是这些功能模块本身对系统资源的要求是冲突的。

比如,在读IIC总线式为了保证严格是时序,需要关闭中断,但是在PWM输出(我们用作调光灯)中,定时器是不能关的,否则灯肯定会闪。还还没加那两个串口(一个虚拟串口)。

反正乱七八糟的一堆问题。功能实现都不是问题,问题是如何保证稳定的工作。头疼!

楼主可以考虑用定时器中断控制IO来模拟PWM.

定时中断产生一个基础的足够小的时间片中断, IIC和PWM及其他时序控制的总线都以此时间片中断为单位进行控制.

这样就不存在硬件资源冲突的问题.



想过这个办法,不过我感觉难度不小,尤其是IIC总线那些微妙级的延时。而且虚拟串口由于要匹配其它设备的通讯速率,定时器时间已经几乎快到极限(并且为了省一个外部中断口,虚拟串口采用的查询方式。采样速率是通讯速率的3倍)。
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表