EDN首页   博客首页

最新日志

发表于:2008-3-4 17:22:29
标签:无标签

0

评论(0) | 阅读(249)
发表于:2007-11-15 14:44:32
标签:无标签

0

闲聊:拿着MCU望ARM

      有个网友问我:ARM和单片机到底有何区别。我想了很久不知道该如何回答他,因为单片机定义太模糊了,难道只有8BIT才叫单片机?其实应该从最基本的应用方面讲这个问题,如果你的设计8BIT速度不够,并且不需要OS,我想这个时候你用ARM7设计,思维应该是和一般单片机没啥差别。如果你的设计需要用到LINUX或WICCE等OS,那设计思维就完全不一样了。本人写过多年8BIT,在看ARM时也迷茫和郁闷了大半年,什么Bootloader,Driver,OS,应用软件等等。在此我愿意和那些搞了多年MCU中毒(不是贬义)很深的朋友分享下我的历程和感受,如果你问我在ARM嵌入式有了多深的道行,很令你失望,本人只是一点点入门!

       1,不管如何你应先了解ARM架构,应该知道ARM的几个工作模式,大致有哪些汇编指令,大致可实现哪些运算,了解MMU,CACHE,DMA是什么,这些“大致”就可以了。(注意了:如果你没有C语言的功底,请你不要沾ARM,为何?你应该知道啥叫大炮打麻雀,浪费ARM。请倒车回家去学C)

       2,会议时间到,明天继续

点击此处查看原文 >>

系统分类: ARM   |    用户分类: 无分类    |    来源: 无分类

评论(0) | 阅读(476)
发表于:2007-8-2 18:07:17
标签:我写MCU软件的模块规划  

1

我写MCU软件的模块规划

       续<<初写MCU的困惑>>

       在硬件规划好后,规划软件的写法,执行任务较多时,首先是考虑运行时间够不够,当然MCU不是奔腾,是要斤斤计较时间问题的,下面是说下自己的软件规划方法.

       首先看需要的功能哪个部分需要的循环时间最短,现举个例子: 有按键扫描,红外遥控接收,I2C传输,写LCD显示,RTC等.(有人习惯遥控接收用中断,有人不用中断,为了体现关于时间的划分,下面也不采用中断).下图是硬件简单描述(假设):

          点击看大图

        需要的最短扫描就是遥控接收了(惯例100US),我要把时间切成每50US一个时间片,每200个时间片一个循环,如下图:

         点击看大图

        1.遥控接收部分:占用1.3.5.7.9.....199.1 等时间片,此时的扫描周期刚好是100US,一般音频设备使用的是HT6221或PT2221等发射IC,在写判断1或0脉冲时,时间检测不要写的太精密,留+-100US公差.

        2.ENCODE检测也不用中断,1MS扫描一次,50US*20=1MS,用2.22.42.......182.2等时间片.

       3.按键检测,每10MS扫描一次,用时间片0.

       4.LCD驱动刷新,HT1621是3线传输,可是与标准SPI BIT数不一样,咱也只好用一般I/O传输.给它安排时间片4.两次刷新的间隔最短是10MS.

       5.I2C传输假设是VOLUME控制IC,虽然16F877带I2C功能,咱也不用,用I/O模拟.安排时间片6.两次刷新的间隔最短是10MS.

      6.其他设备用一般I/O控制,安排时间片8.两次刷新的间隔最短是10MS.

      7.周器是0.5S,全部的子程序只有这个要求一定要时间准,咱在定时中断里加几句计数,累积到1000返回,1000*50US=0.5S,秒.分.时.天.的处理放在第10时间片.

      以上时间片安排,大家留意一下,在每一个时间片里,最多处理一个子程序,而且还可以加很多子程序.没有使用多个中断资源,就用了一个定时器中断.RTC的时间照样很准.其它子程序时间延迟点无所谓,只是别延迟太久了,象LCD和模拟I2C可能时间长点,想办法分到几个时间片里去完成.

      子程序之间的通信,建议你单独留出一点RAM,初始化时指定给某些子程序用,或开个时间片处理之间的通信,这点不多讲了,留给有兴趣的人去考虑.这写法是不是也可以叫"多任务"呢?但不是抢断式的,这样设备的程序也不需要抢断.8051 KEIL里有带个RTOS,我只是不太喜欢用它,比较麻烦,用的时候不太灵活,每个任务要求的周期也大.资源也需要的多.

        不管用啥方法,只要能满足产品要求就行.以后如果有时间,会写点嵌入式的东西(ARM----LINUX)!我老是在笑自己是不是走的土八路的道路,表达方式欠佳,很可能没人看的懂!如果是,就当你没看到过,但是我不希望你打击我的写博热情!

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(2) | 阅读(1006)
发表于:2007-6-29 15:21:59
标签:中国芯  

2

让人郁闷的"中国芯"

         去年2月份写的,从另一个地方搬到这来的!

 

         

       咱们中国这几年真是屁股上装了火药,科技在以神舟为龙头的牵引下,以NKKKM的速度在飞跑!这中间灌了多少水我不清楚,我只说说对半导体产业的看法.
        早几年前龙芯横空出世,咱老百姓也是跟着狂欢,那个喜啊,那个乐啊.几年过去了,咋就没在市场上看到龙芯应用啊,郁闷.龙芯一号是中科院计算机研究所设计,威盛生产的.我狂晕,威盛的IC都要拜托台积电和联电代工,他们只是设计,哪有设备生产啊!网络上又有新闻暴出,说龙芯涉嫌抄袭MIPS!是不是真的消息咱管不着.
         有了龙头要有凤尾啊,果然验证了老祖宗的预言,其后又蹦出了个凤芯.----“凤芯”是2002年研制出的“龙芯”的姊妹。它是国内第一款能够支持中国自主音视频编码标准AVS(草案)以及符合最新国际标准的高清晰视频解码芯片----.晕呼呼的,说的神乎其神的,14亿人的大国弄出个解码芯片来,还大张旗鼓宣扬,有啥了不起的,世界上已有N多公司都在几年前设计好了,而且几个月换代一次,只是没有采用你的AVS标准而已!汗.......
   龙是中国汉人的图腾,理应出汉芯.呵呵!真的出来了!这DSP芯片对中国用途可大了,据说可以使中国的导弹精确到0.000....,可是没过多久,又暴出由于开发团队不合,陈进手下的人举报陈进造假,拿FREESCALE的DSP冒充骗取科研拨款!消息暴出后个个是遮遮掩掩,发明人有本事出来对证啊,很简单的事嘛!按理说这是件大事,即使举报人举报不实,政府也会澄清事实的,可是这么大的事居然没下文了.所有的电子网站由当初的铺天盖地的新闻,到现在全体哑巴了!这到底是咋了,发生啥事了,我糊涂了....
   今早看新闻,呆了,长虹也出芯了,理所当然叫虹芯呗.-----。“虹芯一号”不仅结束了该类芯片长期依赖进口的历史,而且使国产彩电企业利润成倍增加。据了解,数字自动会聚芯片主要应用于传统显像管、投影类电视,可以自动跟踪、识别电视信号红、绿、蓝三基色-----,咱也跟着乐吧.可是仔细看看,还有传统二字,传统是CRT的吗?乖乖呀,世界都在告别CRT谈论平面了,他还在唱"传统"!还加上个"芯",这就是以产业报国,以民族昌盛为己任吗?
   我爱你我的国家,我在用心爱着你.祝愿我的国家繁荣富强,半导体产业蒸蒸日上.可是今天"龙凤汉虹"都出来了,明天还出什么,是虎芯?还是七彩芯,但愿永远没有"黑芯".中国芯,想说爱你不容易啊.我的同志,多一些实在少一些"芯"吧!

点击此处查看原文 >>

系统分类: 自由话题   |    用户分类:    |    来源: 原创

评论(1) | 阅读(699)
发表于:2007-6-29 14:40:50
标签:无线能量传速  

1

小议无线能量传速

         前几年有看到报道美国电力汽车的无线充电,今天看到一家公司网站上推无线能量传速方案,其实无线能量传速早在身边有应用了,如电动牙刷,我只是想发表下这技术的前景及要解决的不足只处.从美好的一面看未来前景,拥挤的城市里不再有东拉西扯的电线,人们不再为电器牵那必不可少的电线而烦恼,说这应用也太前卫了.咱说些比较实际点的,不去谈论远距离传输.

         我自己认为当前的无线能量传输技术有四点要解决:   1,利用率    2,电路体积规模   3,电磁干扰.   4,成本(本人认为降低成本也是技术范畴).如果能克服上面几点我想这应该是一个很大的应用市场,如便携式产品等.

         在各国家唱全球能源危机的今天,利用率也就成了一个关键的指标,本人认为当前市场产品卖国内可能还不会太在意,卖到黄毛那别人肯定会在意利用率.把电路体积做小,在很多便携式产品上可以得到追捧,想象一下,你的手机PDA等不再反复插拔,不再为不同的充电器和插头而烦恼,而且外观也可以做的更漂亮..电磁干扰应该是最难解决的问题了,当前的无线能量传速无非就是电磁再到磁电转换(咱不去说那实验室里的电--光光--电技术),电磁技术不可避免的会遇到干扰问题,只是一定要尽量做到不要干扰其它设备正常工作,不要危害人的身体健康.说到最后,还是钱的问题,当这电路技术做到占总成本的很小一部分时,我想那才是大规模推广的开始.

点击此处查看原文 >>

系统分类: 电源技术   |    用户分类:    |    来源: 原创

评论(1) | 阅读(942)
发表于:2007-6-27 18:00:07
标签:初写MCU软件  

2

初写MCU软件的困惑

         写MCU软件这几年,写程序的技巧也积累了一些,记忆最深的还是当初是如何从书本知识转向产品实用的.

        初学MCU时,教程上和老师讲的软件编写方法,真正用到产品设计上时就感觉到了很不实际.举个很简单的例子,在设计一个有按键和红外遥控输入的产品时,按照一般图书教程上做,写按键检测程序肯定有:读取I/O--->延时10mS--->再读取比较I/O数据.可是想想如果在延时10mS的时间里,红外信号到来,处理器正在等待10mS结束,软件不能及时检测到完整正确的遥控输入.有的人可能会想到用中断,这时如果你的MCU是不带中断的,比如PIC16C5X系列的,咋办?

       周围做MCU软件的同事聊天时,一致认为都遇到过这情形,而且都是绕了很大的弯才迈过这道坎,惭愧,本人也是如此.
      下面就以以软件模块的形式描述一下如何实时处理多个任务,这个例子只适用于简单的小程序,遥控和按键子程序要安排时间计数,计算时间到了没有,有心计的可以安排遥控和按键不要在同一个100US内处理.
 
                                             
 
         上面这个方法,前提是要保证一个循环周期执行最长时间不能大于100微秒,稍复杂点的就不能这样做了.后续会再描述些稍复杂的写法.
 

点击此处查看原文 >>

系统分类: 单片机   |    用户分类:    |    来源: 原创

评论(1) | 阅读(1045)
总共 , 当前 /