单片机开发,MCU开发网,电子设计

做最优秀的电子开发团队

RSS订阅

  • 首页
  • MCU开发
    • ARM7/9
    • Cortex-M3
    • UCOS
    • 其它MCU
  • PCB设计
    • Cadence Allegro
    • 布线规范
  • 信息|技术
    • Information
    • 杂谈
    • 网络技术
  • 未分类
  • 硬件设计
    • MCU外设
    • 设计展示

用于计时性的老化可靠性测试系统

十 11th

由正在戒网发表在设计展示

没有评论

   笔记本电脑在组装完成后须要经过一个长时间的RUNIN后才能算合格的产品出货.当产量比较大时就须要一个专门的区域来专门放置RUNIN的机台,管理这个区域的机台就会比较耗费人力,因为须要一些人查看每个机台是否有RUNIN完成,以及这个区域还有多少个空位可以放置多少机台等等.

   针对于此系统的要求,设计须要满足这样的要求:

  一:最低的成本(至少不会比用人员来管理要实在的多吧).

  二:当某一个产品的老化时间到时,须要立即提示相应人员进行处理.

  三:简易的操作方式,直接上线即可使用

  四:须要完成多机通信的任务,如果当某一下位机没有工作时,会提示相关人员处理,但不能引响整个系统的通信以及正常的运作.

由于在做此专案之前,我并没有做过多机通信相关的开发,后来在写通信协议的时候痛苦到了极点,因为在网上也没有相应的参考,后来通过无数次的烧写代码,终于搞定,没有让我当时的老板失望.此专案下位机采用最便宜8051单片机完成,与上位机的通信协议完全自已开发,速度不是很理想,不过对于几个下位机的通信与数据通信还过的去.如果大家也有在这方面的开发经验与须求,我们可以交流交流.

485通信, 可靠性, 多机通信, 老化

通过低压直流电源进行数据通信系统

十 11th

由正在戒网发表在设计展示

没有评论

   在一些特殊的场合由于须要安装与维护方便,常常在不影响功能的前提下须要电源与信号传输合并在一起传输。传统的在电源上通信为在220V/110V交流电源上调制一个高频的FSK信号, 但在此项目应用中,大多数只能使用低压直流电源供应,由于直流电源中具有大量的电容存在,对高频信号接近短路。经过我们工程师多次地论证与实验,发现在信号与电源分时传输可以有效地解决此问题.      我们采用了利用上位机进行对电源的管理,就可以与多个下位机进行半双工通信,理论上它的抗干拢能力比普通的RS485更优越,而传输速度与下位机的功率能够满足绝大多数的应用要求。

RS485, 电力通信, 载波通信, 通信

风扇自动控制监测报警器

十 11th

由正在戒网发表在设计展示

没有评论

      一般的IC芯片厂商都拥有大量的半导体设备进行生产IC芯片,但这些设备通常比较昂贵,所以对它的保护必然是非常重要的。对于这些设备最致命的缺点就是其自身发热量的的问题,如果一台机器自身的散热风扇停转5分钟则机器就会反应变慢,如果停转10分钟机器就会处于死机,如果超过20分钟可能就会有损坏的风险。所以需要一个能够自动检测并控制风扇的附带设备,并能够显示机器的温度。如果风扇转速低于一定程度的时候就会自动发出报警以提示管理员尽快关闭机器。为此,我们为某著名的芯片设计公司开发了扇自动控制监测报警器.他们对此报警器的要求为:

能够准确的检测风扇的转速与通过风扇的电流进行比对,如果两者都为正常值,则告知为正常运行,显示绿灯。否则多次取样后进行报警。因为环境的影响,报警的方式采用有线的方式进行提示,以便能在管理室就能看到。

  由于对高可靠性与高准确性,经过我们分析与论证后,我们决定使用模拟取样与门控制报警的方式,以提升在高干扰与长时间工作的可靠性.

报警器, 监控, 风扇

Cortex-M3在MDK C语言中嵌入汇编语言的方法

十 11th

由正在戒网发表在Cortex-M3

没有评论

在传统的ARM处理器中(ARM7/ARM9),如果要在C程式中嵌入汇编,可以有两种方法:

一:内联汇编程式  方法如下:  

  • int PCBsheji(int i)  
  • {  
  •     int r0;  
  •     __asm  
  •     {  
  •         ADD r0, i, 1  
  •         EOR i, r0, i  
  •     }  
  •     return i;  
  • }  
  • 在汇编语句可以直接做用C语言中的变量.编译器会对这些代码进一步优化,函数返回也由编译器自动给出,但是有些限制就是不能对SP,LR,PC等直接操作,或者会出错,并且只能是ARM状态的代码.

    二:使用嵌入式汇编的方式  示例代码如下:

  • #include <stdio.h> 
  •  
  • __asm void my_strcpy(const char *src, char *dst)  
  • {  
  • loop  
  •       LDRB  r2, [r0], #1  //R0保存第一个参数
  •       STRB  r2, [r1], #1  //R1保存第二个参数
  •       CMP   r2, #0  
  •       BNE   loop  
  •       BLX    lr  //返回指令须要手动加入
  • }  
  •  
  • int main(void)  
  • {  
  •     const char *a = "Hello world!";  
  •     char b[20];  
  •     my_strcpy (a, b);  
  •     printf("Original string: '%s'\n", a);  
  •     printf("Copied   string: '%s'\n", b);  
  •     return 0;  
  • } 
  • 嵌入式汇编的好处就是它看起来更像是一个函数,它的第一个参数放在R0中,第二个参数放在R1中,以此类推. 在嵌入式汇编的代码中,只能够使用汇编代码,如果须要访问C程式中的变量,可以使用_cpp关键字,编译器自动为这些C的变量加上IMPORT引用;如

  • LDR r0, =__cpp(&some_variable)  
  • LDR r1, =__cpp(some_function)  
  • BL  __cpp(some_function)  
  • MOV r0, #__cpp(some_constant_expr) 
  • 编译器不会对嵌入式汇编做优化,也不会自动加入函数反回等,所以可以在嵌入式汇编程式中完成绝大部分纯汇编文件才能完成的工作,比如说对SP这些寄器的操作. 由于内联式汇编只能在ARM状态中进行,而Cortex-M3只支持Thumb-2,所以Cortex-M3只能使用内嵌汇编的方式,也就是第二种方式

    更多 >
    Cortex-M3, MDK, 内嵌汇编, 内联汇编, 嵌入汇编
    « 第一页...«23456
      • 热门文章
      • 存档
      • 标签
      • 分类
      • 未分类 (1)
      • MCU开发 (11)
        • Cortex-M3 (6)
        • 其它MCU (1)
        • ARM7/9 (1)
        • UCOS (2)
      • 硬件设计 (8)
        • 设计展示 (4)
        • MCU外设 (3)
      • 信息|技术 (10)
        • Information (1)
        • 杂谈 (5)
      • PCB设计 (5)
        • Cadence Allegro (4)
        • 布线规范 (1)
      485通信 ADC读取 Cadence Allegro Cortex-M3 DRAM JS MDK Orcad OSTaskStkInit Protel RS232 RS485 STM32 UC/OS USB usb3.0 主控芯片 信号线 入门 内嵌汇编 内联汇编 初学者 单片机 单片机开发 可靠性 多机通信 学习应用 嵌入汇编 开发板 报警器 更新封装 正常更新 特征阻抗 电力通信 监控 简易ICT 网站改版 老化 自动压栈 自动测试 设计规范 载波通信 通信 阻抗测试 风扇
      • 2010 年 六月 (1)
      • 2010 年 四月 (2)
      • 2010 年 一月 (1)
      • 2009 年 十二月 (3)
      • 2009 年 十一月 (10)
      • 2009 年 十月 (17)
      • UCOS II消息郵箱的使用 (9)
      • 入手了一黑莓手机,很是郁闷 (7)
      • UC/OS-II中OSTaskStkInit()移植详解(基于Cortex-M3) (4)
      • [转]不要一辈子靠技术生存 (4)
      • 上班了,没想到会是这样 (4)
      • 服务器故障,数据丢失 (3)
      • Cortex-M3中断时,自动压栈的顺序 (3)
      • 对美国GODADDY空间的失望 (3)
      • 初学者单片机应该如何入门 (2)
      • allegro中更新元件封装的方法 (2)
    • 最近文章

      • 磁珠与电感的作用与区别
      • 对美国GODADDY空间的失望
      • CAM350无法识别ALLEGRO 导出 drl钻孔文件解决方法
      • 办理了移动3G包年
      • 搞定12864M LCD在流明LM3S系列ARM上的驱动
    • AD也精彩

    • 友情链接

      • 设计者人生
      • PCB设计网
      • 正在戒网'Blog
      • 四盟电子
      • 阿吴网志
      • 网管数据
    页面设计digitalnature |汉化 by Awu |驱动 by Wordpress
    版权所有:单片机开发网.2009