打印

嵌入式微系统(msOS)正式发布

[复制链接]
楼主: lldwsw
手机看帖
扫描二维码
随时随地手机跟帖
101
学习了 支持

使用特权

评论回复
102
逍遥派掌门| | 2013-10-13 16:56 | 只看该作者
    STM32那里,粗看一下,感觉还是switch...case太长,流水帐太长不好看,维护起来也费劲,
如按键处理、菜单处理,搞成数组就好点。

    STM32的ADC那里,可以使用DMA模式,比较舒服。(粗看文档,没有发现,如果有了,当我没说)

使用特权

评论回复
103
天意无罪| | 2013-10-13 22:56 | 只看该作者
必须得顶!

使用特权

评论回复
104
lldwsw|  楼主 | 2013-10-14 13:41 | 只看该作者
逍遥派掌门 发表于 2013-10-13 16:56
STM32那里,粗看一下,感觉还是switch...case太长,流水帐太长不好看,维护起来也费劲,
如按键处理、 ...

你看到的都是细节,却看不到全局。

M3性能已经足够强,不要再在细节上拘泥,做无谓的优化。

msOS强调的是架构,软件思想,而不是细节的优化,甚至降低细节的优化达到系统的可读性,架构性,面向对象,面向模式设计,抛弃原来的嵌入式设计思维。

使用特权

评论回复
105
lldwsw|  楼主 | 2013-10-14 13:44 | 只看该作者
目前msOS QQ群:291235815 人数增加迅速,两个月就突破了300号人,这段时间大家讨论最多的是“设备”两个字,到底什么是设备,msOS的应用是基于设备开发的,类似PC,这是分层设计的层的根本点,但是长期以来,嵌入式人员都把硬件,寄存器,驱动,设备,应用混淆了,无法分清楚设备,于是无法准确抽象,分层。这些群内的讨论,都会写入到文旦里面。

使用特权

评论回复
106
逍遥派掌门| | 2013-10-14 16:01 | 只看该作者
lldwsw 发表于 2013-10-14 13:41
你看到的都是细节,却看不到全局。

M3性能已经足够强,不要再在细节上拘泥,做无谓的优化。

每个人的观点不同吧。细节,在我看来很重要。

1、越底层的东西都是要千锤百炼的,可靠性和稳定性很重要,能否做到精简和高效,没有一定的功力是做不好的。

2、如果细节问题都无法解决好,大局从何谈起? 劣质的砖头瓦片能搭高楼?四川地震,咱心里怕怕。

3、楼主说到“降低细节的优化达到系统的可读性”,其实我前面就是说可读性不够,看得累。

4、每个人的阅历,经验都不同,在软件的架构,思想方面都会有不同的看法。在我的设计里,只分硬件驱动,接口,业务逻辑,8位机、32位机都这么处理了。

使用特权

评论回复
评分
参与人数 1威望 +6 收起 理由
dong_abc + 6 顶! 越底层的东西越需要千锤百炼。.
107
lldwsw|  楼主 | 2013-10-14 17:23 | 只看该作者
本帖最后由 lldwsw 于 2013-10-14 17:34 编辑

这个只能说认识不同。msOS定位于架构,设计思想,而不是为了省一两句指令优化的。这个都是得益于现在的CPU性能越来越好,没必要把精力放在这儿了,当然,适当的优化是必要,看项目,但一根筋的优化,完全没有必要了。毕竟绝大部分项目,不需要这么的优化。

若按你的思想,什么wince,linux,android,上位机JAVA,C#都无法开发了。

不同规模层面的东西,需要不同的态度对待。

Cortex M3相比MCU51,已经提升了太多了,若还是按MCU51的思维来编程,那只能说是自找痛苦。

若为了千锤百炼,可能用汇编,机器码更合适。

使用特权

评论回复
108
逍遥派掌门| | 2013-10-14 18:19 | 只看该作者
本帖最后由 逍遥派掌门 于 2013-10-14 18:23 编辑

感觉好象不是在说同一个问题了。

为什么要分51的思维Cortex M3的思维呢? 这样分,应该是当初51的思维没有提升到应有的档次,或者根本就不对路了。

优化,不是单纯指一、两句指令的优化,还有表达方式,编程技巧方面,甚至是书写格式方面。

使用特权

评论回复
109
lhchen922| | 2013-11-1 20:50 | 只看该作者
学习下OOPC

使用特权

评论回复
110
香水城主| | 2013-11-1 21:15 | 只看该作者
鼓掌支持,抽空拜读。

使用特权

评论回复
111
四方动力| | 2013-11-2 10:39 | 只看该作者
一个贴子看下来,受益非浅。

使用特权

评论回复
112
lldwsw|  楼主 | 2013-11-2 15:47 | 只看该作者
刚更新了文档,增加了硬件部分,包括电磁场理论的通俗讲解。

QQ群内已经录制了视频,可以在群共享中下载。

使用特权

评论回复
113
lldwsw|  楼主 | 2013-11-15 10:10 | 只看该作者

通俗易懂的讲解电磁场是怎么回事

本帖最后由 lldwsw 于 2013-11-15 20:36 编辑

电磁场理论基础

      从初中甚至更小,我们就接触到了电路,把电压比作水源的高度,电流比做水流,表征电压与电流关系的电阻就是水管的大小。从初中到大学毕业工作(排除专门学过电磁场,并且深入理解了的),我们一直这么理解的。因为电路、电压、电流、电阻的概念就是对照现实中看得到的水路、水压、水流和水阻而来的,非常直观、形象,并且长期以来感觉没什么问题,所以非常的深入人心。
电路理论的困境
       电路理论首先碰到的问题是两根紧挨着的信号线,会相互干扰,这个引入了磁场理论比较好的解释了:存在交变的电流,就激励出交变的磁场变化,部分磁力线相互围绕了傍边的信号线,根据安培定律,互感相互影响,这个采用磁场理论可以说完美的解释了。当然靠近的两根信号线不仅仅只有磁场的影响,电场也有影响,这个取决于电压与电流的比例关系。
       电路理论碰到的第二个问题,当一个回路的导线无规则,比较乱,信号源信号无法完美的传递到终端上,高频失真,信号完整性受损,限制了高速信号传输。而这个,电路理论解释不了,磁场理论也解释不了,需要第三种理论。
       电路理论碰到第三个问题,无法解释天线?怎么断路不相连的一段导线,可以辐射能量出去,而电路理论必须要有回路的,完全不可理解。
       电路理论无法解释第四个问题:传输线阻抗,一根同轴线,标称50欧姆,这个是表征什么物理量?这个50欧姆在哪儿呢?
信号的载体是能量
       硬件中的信号的传递,基于电压或者电流表征的,但无论电压还是电流,都是基于能量这一实体。
       在现实中,能量的传递,都是从A到B点,而在微观世界中,能量的传递只有两种,那就是基于粒子传递,如同扔石头,或者基于波的传递,如同声音或者水波,只有这两种。但是,电路是基于一个回路的,大家日常想着电流从电源的正极留出到电源的负极,或者电子从负极流出到达正极,这个是电路理论经常提到的,深入人心,但这个明显存在一个问题,就是这个回路里面,到底那个负载先上电呢?是靠近正极的A,还是靠近负极的C?

       我们知道,电子有质量,在金属中移动的速度很慢,远远小于光速,但电的建立是光的速度,所以电路建立的基础,显然不是以电子的移动作为初始条件,能跟光速比的,只有电磁场,它是波,可以传递能量,也满足能量传递条件。
场结构模型
       既然电路的理论基础是电磁场,能量的传递必须从信号源点到终端,不可能是回路形式,那么如下图,红色细线是电场,从信号源扩展到负载B,蓝色细圆圈是磁场,也从信号源扩展到负载B,理论上讲,电路的顺序是A、C、B,这样的顺序。


我们简化上图为传输线类型模式,可以清晰的看到,红电场和兰色磁场组成的电磁场从信号源到负载电阻。在传播过程中,电场和磁场都是存在于导线外面的,而这些电场和磁场都是能量场,所以要明确的是,能量都是在导线外面的,而不存在于导线内部,这个很关键,

       根据能量存在于导线外面的特点,我们加以利用,就得到不同的东西。比如为了实现传输,就需要降低损耗,降低对外的辐射而设计了同轴线,如下图1(截面图),外铜皮与内心铜线之间充填塑料,形成一个腔体,电场和磁场就分布在里面,电场是两极径向的红线,磁场是围绕铜芯的切向兰线。同轴线外没有任何的电场和磁场,所以对外没有辐射,损耗最小,最适合电磁场通讯。
       PCB上的信号连接,无法用同轴线,于是设计了一种类似同轴线的方案,叫微带线,如下图2。图中可知电场大部分被约束在信号线与参考地之间,但磁场有在外面,所以微带线适合短距离传输,往往只适合于PCB。
       若为了发射信号,如天线,就尽可能的把电场和磁场暴露在空间中,那么就需要把两极分开,如下图3.




       需要注意的是,一块悬空的金属,因为内阻为0,电磁场无法穿过而形成类似镜子的反射效应,卫星天线采用一块独立的类似锅盖形状的金属板作为卫星信号的反射面,利用凹透镜原理。
3.5.3 传输线阻抗
       电磁场是波,那么就必须要满足电场能量与磁场能量相等,只有两个能量相等,才能相生相克,互为阴阳,比如**,繁衍后代,生生不息。那么电场能量与磁场能量相等,相互转换才能把自己传递下去。注意,这儿讲的相等,是同一时间的能量要相等,这个跟LC振荡完全不同,振荡虽然也是电场与磁场转换,但不是同时,而是这一刻电场转化为磁场,下一刻,磁场转换为电场,所以总能量不变,在两者之间转换,无法传递下去。而对电磁场波来说,是同一时刻,相互转换,电转换为磁,磁转换为电,从源端获取能量传递到终端去。

3.5.3传输线微分模型

       取一小段传输线来,红线中间部分,我们用集中元器件来描述,导线的长度,就是电感L,导线之间就是电容C。电感对应的是磁场,电容对应的是电场,这两个能量要相等。
1/2 * C * U * U = 1/2 * L * I * I
整理可得:
Z = U / I = SQR(L/C),SQR 为开平方根号。

       传输线阻抗的物理意义:在电磁场传输的过程中,电场与磁场能量相等,那么传输线两端的电压与电流必须满足这个比例关系。
3.5.4 阻抗匹配
       通过以上很容易明白了,不同的传输线,它的阻抗是不同的,电磁场是一个能量场,若这个能量不能被后级完全吸收,必然会反射回来,因为能量是无法消失的。所以要求终端的电阻与传输线阻抗一样,这样传递过来的能量可以被完全吸收而不引起反射导致信号模糊。普通线之所以无法传递高频,就是因为不停的各种反射,导致信号模糊而失真。一般来说,要求信号源与终端都要跟传输线阻抗匹配,这样哪怕终端反射回来信号,也可以被源端的电阻吸收。
       当有些传输线特别短,远远小于信号波长的时候,可以不需要太考虑阻抗,因为传输线太短,哪怕多次反射折叠,也不会使信号恶劣太多,所以不需要太考虑。我们普通的电路回路,在低频下,远远小于信号波长,哪怕多次折叠,也对信号没有什么影响,这就是普通电路不用太考虑电磁场的原因,而电路理论可以认为是电磁场理论在低频下的一个近似模型。
       当多路不同阻抗的传输线或者终端连接在一起的时候,就需要考虑它们之间的阻抗匹配问题,需要引入电容电感实现阻抗匹配,这个就是大家经常听到的射频匹配问题。射频工作人员很大的精力都在调节信号的匹配。
       需要引起重视的是,理论上讲,传输线阻抗跟频率无关的,因为传输线微分等效电容电感的阻抗跟频率是同步变化的,抵消掉了,但是引入了电容电感来调节匹配,这些电容电感对不同的频率的阻抗不同,所以会有一些频响特性,不再是与信号的频率无关了。所以匹配调节的时候,一般要调节的在想要的频带上。
3.5.5 微带线
       电磁场的长距离传输,一般用同轴线,因为同轴线能量不能辐射到外界,但对于PCB的信号线设计,无法用同轴线,所以基于电磁场理论,设计了微带线。


3.5.5.0微带线截面图模型
       如上图右边的模型图,上面是宽度为W的信号线,PCB的覆铜一般是0.018毫米。下面是参考地,参考地要尽可能大于三倍的W宽度。信号线与地之间的高度是h,一般都是PCB的标准材料FR4,需要注意的是,不同厂家的FR4介电常数基本差不多,严格的需要厂家提供数据,并且还跟频率有关,一般1GHz以内的,取值4.2。
       微带线阻抗一般不需要用公式计算,网上有不少软件工具,只需要把这些参数代入即可。常用的知名专业软件为polar si8000,搜索“微带线阻抗”,网上有很多免费的。

3.5.5.1微带线计算界面


       在高速设计的时候,尤其是长距离设计,尽可能的按微带线的概念设计,越靠近理想,信号完整性越好。
图片无法显示,可以看blog内容。
https://bbs.21ic.com/blog-15467-113324.html
更详细描述见于顶楼嵌入式微系统msOS文档。



使用特权

评论回复
114
zjxcml| | 2013-11-15 16:43 | 只看该作者
大牛啊

使用特权

评论回复
115
zuoxuqi| | 2013-11-16 22:06 | 只看该作者
标记一下,持续关注

使用特权

评论回复
116
lhchen922| | 2013-11-17 20:01 | 只看该作者

使用特权

评论回复
117
lldwsw|  楼主 | 2013-11-24 13:36 | 只看该作者
现在开始msOS-Stm32部分的文档了

重点从当时的高频感应加热设备的项目需求入手,从那个项目需求开始讲解,都碰到什么问题,为什么要升级MS3架构到msOS,从这些一步步讲解过来。



从上图高频机的需求,如何演化到下图的msOS的框图



从需求角度分析,而不是从技术角度入手,讲解为什么要引入RTOS,RTOS解决了什么问题,GUI解决什么问题,为什么要分层、分块、封装、面向对象设计,他们都是为了什么目的。

紧紧围绕需求来写,抛弃技术角度。

使用特权

评论回复
118
cjf512| | 2013-12-22 22:13 | 只看该作者
我给顶一下!受益良多!

使用特权

评论回复
119
lldwsw|  楼主 | 2013-12-23 00:04 | 只看该作者
在首楼更新了资料和代码,也画出了架构图,欢迎下载

使用特权

评论回复
120
qin552011373| | 2013-12-23 09:50 | 只看该作者
有机会试用一下,我们也是工控行业的,不知道楼主的那个群能不能加进去呢?

使用特权

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

本版积分规则