原创 双核单片机之初体验(3)

2011-5-13 17:09 5713 17 24 分类: 消费电子

10.能否通过一些应用实例来让大家了解应广双核单片机针对某些应用场合的便捷性?
例1:
目前价格低于0.2美元的单片机大都不带UART(串口)硬件,如果用一款低价单片机开发需要支持串口通讯的产品,只能是用IO口软件模拟串口。
用IO口软件模拟串口的代码并不复杂,但如果单片机还要处理其它事情,就会遇到麻烦。假定通讯速率是9600,这样每个位宽大约为104us。
一种方法是直接在主程序中循环完成通讯,这样当有数据收发的时候就无法处理其它事情,每个字节会占用超过1ms的时间,数据越多,占用的时间越长,对于数据发送处理还好,数据接收就会很麻烦,理论上需要程序每52us去查看一次IO状态才行,这样的程序只要简单一想就知道编写起来不是一件简单的事情。
另一种方法是用中断,这种处理方法比循环的要简便一些,但要做到同时收发和兼顾处理其它事情,同样也不是一件简单的事情。
对于普通单片机如果只处理串口数据收发,不做其它事情,不管程序循环还是中断方式,程序相对都不会太过复杂,上面只所以复杂是需要同时处理其它的事情。
使用应广双核单片机就可以很好的解决这个问题,首先价格上不会超过0.2美元;其次代码会相对简单,一个内核处理主程序,一个内核专门负责串口通讯,两者都会有很好的实时性。
例2:
处理38K红外遥控码。
38K红外遥控码是频率38K占空比为1:2的方波,如果单片机硬件不支持IR接口,就需要单片机能连续输出宽度约为9us和18us的高低电平。如果要单片机输出这种周期持续稳定的方波,在发码期间基本上不能使用中断,象东芝码一次发码时间大约需要60ms,这样就会严重影响程序的计时等功能。
红外码的接收相对要好一些,每个码都有几百微秒的时间,采用中断完全可以实现解码,唯一麻烦的是红外码通常都是数据包,而且数据包中间还包含一些特殊格式,不象串口所有的字节码都是固定格式,这样需要程序按照特定流程才能解码,无法象串口一样只要一个字节的接收程序就可以完成所有数据的接收,所以红外的接收解码程序会比较长,中间如果夹入其它事情处理就会变得很复杂。
以我个人的经验,普通单片机完成红外遥控码的处理,大约需要2~3天时间,最终效果不会太好,但如果使用应广双核单片机,半天即可完成,代码数量要少许多,效果则是更理想。
例3:
一个用应广双核单片机做的红外遮挡开光(反射式)全部代码。
IR_SW equ pb.1
IR_INPUT equ pa.0
IR_OUTPUT equ pa.6


byte ir_new
byte ir_old
byte ir_enable
byte i
byte ir_new1
byte ir_new2
byte ir_new3

  goto main0
 goto main1

//----------------FPPA0-------------------
main0:
 .ADJUST_OTP_IHRCR 8MIPS  // IHRC/2 = 8MIPS, WatchDog Disable, RAM 0,1 temporary be used

 sp = 0x30

 disgint
 inten = 0

 mov a,0b000_11_111 //disable timer
 mov t16m,a

 set1 pbc.1
 set0 IR_SW

 set0 pac.0
 set1 pac.6
 set0 IR_OUTPUT

 delay 200

 ir_new = 0
 ir_old = 0
 ir_enable = 0

 mov a,0
 mov intrq,a


 set1 fppen.1 //eanble FPPA1

 ir_enable = 1
 i = 20
 while(i)
 {
  delay 200
  i--
 }

 if(IR_INPUT)
 {
  ir_old = 1
 }
 else
 {
  ir_old = 0
 }

 ir_enable = 0
 i = 5
 while(i)
 {
  delay 200
  i--
 }

 clkmd.1 = 1 //enable watch dog


main0_loop:
 wdreset
 call check_ir

 if(ir_new != ir_old)
 {
  if(ir_new != 1)
  {
   tog IR_SW
  }
  ir_old = ir_new
 }

 i = 100
 while(i)
 {
  delay 200
  i--
 }
 goto main0_loop

check_ir:
 ir_enable = 1
 i = 20
 while(i)
 {
  delay 200
  i--
 }

 if(IR_INPUT)
 {
  ir_new1 = 1
 }
 else
 {
  ir_new1 = 0
 }

 i = 5
 while(i)
 {
  delay 200
  i--
 }

 if(IR_INPUT)
 {
  ir_new2 = 1
 }
 else
 {
  ir_new2 = 0
 }

 i = 5
 while(i)
 {
  delay 200
  i--
 }

 if(IR_INPUT)
 {
  ir_new3 = 1
 }
 else
 {
  ir_new3 = 0
 }

 if((ir_new1 == ir_new2) && (ir_new2 == ir_new3))
 {
  ir_new = ir_new1
 }
 else
 {
  ir_new = ir_old
 }

 ir_enable = 0
 i = 20
 while(i)
 {
  delay 200
  i--
 }
 ret

//----------------FPPA1-------------------
main1:
 sp = 0x38
 delay 200
main1_loop: //output 38k IR signal
 if(ir_enable)
 {
  set1 IR_OUTPUT
  delay 33
  set0 IR_OUTPUT
  delay 67
 }
 else
 {
  set0 IR_OUTPUT
  delay 10
 }
 goto main1_loop



11.应广双核单片机存在哪些不足?
回答:
到目前为止已经上市的所有型号最低工作电压为2.5V,这个电压值有点高,不适合电池供电的产品,如果能做到2.2V会更具竞争力。了解到的信息是应广科技有计划推出更低工作电压的版本。
编译工具存在一些不足,对C语言的支持并不是很理想,仿真时选择3.3V工作电压容易产生低电压复位(此时需要保证工作电压大于3.3V)。对于有经验的工程师这点不是关键问题,开发过程可以绕过这些不足。
部分型号的ADC精度略微偏低,但可满足大部分场合的应用需求。
某些功能上存在个别瑕疵,不过应广科技在其网页上已经将这些瑕疵全部列举出来,并提出了相应解决方法。这一点比其它公司要做得好,其它公司往往是用到最后才发现有这样那样的问题,还有可能是无法解决的问题,让用户进退两难。

12.应广科技对客户的技术支持是否及时?
回答:
应广科技作为一家成立时间不长的公司,非常重视客户服务,无论大小客户,只要你在使用应广科技的产品进行开发,所有技术问题都有专人进行回复,通常会在第二个工作日回复电子邮件。

13.应广的双核单片机保密性怎样?花多少钱可以解密?
回答:
相较其它台系单片机,应广有着良好的保密性,目前市场上暂无提供针对应广单片机的解密服务。

14.如果我想用应广的单片机开发产品?什么地方可以买到芯片和开发工具?
回答:
这个需要联系当地的代理商,如果不知道代理商可以直接联系应广科技进行咨询,应广科技网址www.padauk.com.tw
我这里不提供应广单片机裸片,但可以根据客户需求用应广双核单片机完成产品开发,并且不收开发费。

15.哪些产品适合选用应广的单片机?

回答:
这个问题有点不好回答,其实蛮多场合都挺适合的,可以这么说,相信你一旦使用过应广的产品,就会喜欢上它。
在我看来,用义隆153做有点难,用松翰和合泰单片机做有点贵,这类产品最适合应广的单片机;当然,那种带有通讯等实时性强功能的低成本方案应广更是不二选择。

 

本系列文章:

双核单片机之初体验(1)

双核单片机之初体验(2)

双核单片机之初体验(3)

文章评论7条评论)

登录后参与讨论

用户1236767 2011-10-24 22:02

学习学习

用户1588142 2011-7-21 21:12

mark!!

用户1574322 2011-6-24 09:40

很好的文章,不错,我也想用了。做产品开发,就是要速度快,上市快。QQ381842054

用户1495860 2011-3-15 09:49

好文章 顶起来啊

用户1588648 2011-3-15 03:03

戴工,真是巧啊,打开一篇文章,看完了忽然发现是你的大作。啥也不说,赶紧加为好友。 还有巧的,我现在做的毕业设计也是关于红外通信的,不过看了你的文章,再想想我整出来的东西,简直是粗鄙不堪丢死人。因为只做过实验,没做过实战,而且在学校的设备条件太差,工具仅万用表,元件残缺(原来计划用555定时器产生载波,但是固定大小的电阻电容配不齐),不能用什么取什么,只能有什么用什么,所以我焊出来的东西,要求仅仅是“能用”的级别,性能、成本、标准等等,更不在我的考虑之列。我用软件产生载波信号,频率是38.46kHz,惭愧。 你的文章写的太好了,不过一口气也读不完,以后慢慢学习。

用户1119123 2011-3-9 10:26

支持一下戴工。这样的文章我写不出来。 我就是应广的代理商,可是我却不认识你,有空联系QQ739628148。 写的很好,即谈优点,也不回避问题,比较客观。

用户1124050 2011-3-7 11:39

倾心之作

用户1334174 2011-2-9 08:18

说得很到位,希望政府在鼓励LED入户前能出台如何回收的政策,免得象普通节能灯一样在回收环节上出问题,造成污染。

用户1149967 2010-11-4 17:43

说的很有道理,确实是必须要考虑的问题。

用户1324522 2010-9-15 16:34

LED照明进入家庭,必将改变以往人们对照明的认识模式。可以预计,三五年内或更长一段时间,普通家庭照明仍以节能灯和日光灯为主,高档家庭照明必然会采用LED.
相关推荐阅读
daishangju_162733976 2015-12-19 20:46
个人所见植保无人机
      实在是太久太久没有了上来了,在过去的这段时间里,一些不方便说的原因,还一些方便说的原因,缠绕在一起,让自己封闭(不好意思用蛰伏这个词)一年多,不单是博客没有来,就是邮箱都很少打开。...
daishangju_162733976 2014-10-23 19:48
微观经济1409
位于东莞市凤岗镇的一家小吃店,旁边是一家酒店,老板去年请了7个工人,每天销售5000~7000,今年9月只有1个工人,销售肯定1000以内。   ...
daishangju_162733976 2014-10-23 17:27
市场去哪儿了
好像是从2008年开始,但凡是市场情况不好,总是能见到是经济危机导致欧美市场疲软的解释,看到电视里面安然轰然倒下、华尔街员工茫然抱着纸箱的画面,我对这个解释也是深信不疑。转眼五、六年过去,可是市场...
daishangju_162733976 2014-09-10 14:29
一名电子工程师在深圳的迁移路线图
1999年中,来到宝安区翻身村,在某电子厂工程部当小弟混饭吃,当时小霸王系诸多好汉豪杰正在那边分猪肉。(今天是WWW要搞的前海CBD)   1999年末,转往福田区华强北,在某电子公司开发...
daishangju_162733976 2014-09-05 16:37
另眼看客户“你自己去做,我一定支持你”这句话
我们常常看到或听到这样的事,小X在某行业中打工,经过一番努力,做得还不错,这时候就有客户说:“小X啊,你自己去做吧,我一定支持你”,这个时候小X往往都是已经在考虑是不是要自己出去单干,听到这样的话...
daishangju_162733976 2014-07-03 16:47
谁是优秀的职业经理人?
LEE是公司元老,在公司上下眼里,他能力超凡,数次于水火中力挽狂澜,没有人不承认他是一名福将。LEE有多厉害呢?他主导的产品成功率大约为三分之一,除了他自己,没人知道他是如何选定产品的,甚至他自己...
我要评论
7
17
关闭 站长推荐上一条 /2 下一条