显示下一条  |  关闭

★浩宇行雁★

 
 
 
 
 
 

广东省 深圳市

 发消息  写留言

 
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 

天气

 
 
模块内容加载中...
 
 
 
 
 

日历

 
 
模块内容加载中...
 
 
 
 
 
 
 
博友列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
 

[置顶] 古 城

2009-3-25 18:35:17 阅读36 评论1 252009/03 Mar25

神飞(即鲁迅,1919年8月20日发表)

    你以为那是一片平地么?不是的,其实是一座沙山,沙里面是一座古城。这古城里,从前一直住着三个人。

    古城不很大,却很高。只有一个门,门是一个闸。

    青铅色的浓雾,卷着黄沙,波涛一般的走。

    少年说:“沙来了,活不成了,孩子快逃吧。”

    老头子说:“胡说,没有的事。”

    这样的过了三年和十二个月另八天。

    少年说:“沙积高了,活不成了,孩子快逃吧。”

    老头子说:“胡说,没有的事。”

    少年想开闸,可是重了,因为上面积了许多沙了。

    少年拼了命,终于举起闸。用手脚都支着,但总不到三尺高。

    少年挤哪个孩子说出去说:“快走吧!”

    老头子拖哪个孩子回来说:“没有的事。”

    少年说:“快走吧!这不是理论,已经是事实了!”

    青铅色的浓雾,卷着黄沙,波涛一般的走。

    以后的事,我可不知道了。

    你要知道,可以掘开沙山,看看古城,闸门下许有一个死尸,闸门里是两个还是一个?

作者  | 2009-3-25 18:35:17 | 阅读(36) |评论(1) | 阅读全文>>

两种简易的低成本双向的逻辑电平转化电路

2010-11-21 12:01:45 阅读91 评论0 212010/11 Nov21

(转载请注明www.ednchina.com/blog/cllzs原创)

在电子电路设计中,可能需要这样一种电路:

单片机输出5V或3.3V信号,但在总线上的信号是12V或24V甚至更高的电压。单片机I/O输出的逻辑信号可以反应到

通讯总线上,而总线上的电平有变化时,也可以反应到单片机的I/O口上,而且只用到单片机的一个I/O口,而不需要输入输出各占一个I/O,也不需要使用比较器。

对于双向电平转换电路,市场上也有一些成熟的芯片,如maxim 的max13042,但这些芯片只局限于标准的逻辑电平之间的双向通讯,通讯电压比较低,

如max13042是 1.62V与3.6V 的双向电平通讯。在实际应用中,可能有5V与12V的电平双向电压转化的需求。下图中的两个电路可以实现这个功能:

电路说明:

(1)偏置电压必须低于I/O口输出电压,只有偏置电压低于I/O驱动电压,当I/ O输出高电平时,三级管出于截止状态。

(2)此电路适用于低速电路。

作者  | 2010-11-21 12:01:45 | 阅读(91) |评论(0) | 阅读全文>>

基于增强型SPI接口的大容量Flash扩展实现

2010-9-20 19:05:48 阅读176 评论0 202010/09 Sept20

1 引言

随着信息时代的到来,各种信息的集成和交互越来越频繁。运动控制系统中需要处理和存储的信息量也与日俱增,大部分运动控制系统的核心器件MCU自身已经集 成了较大容量的存储器(与以前MCU相比),但仅仅依靠MCU自身的存储器一般很难满足系统对大容量存储的要求,因此必须找到高效的方法实现对系统存储容 量的扩展。

SPI是一个高效、数据位数可编程设置的高速输入/输出串行接口,几乎所有MCU生产厂商都提供对SPI接口的支持,目前高速SPI接口的时钟频率已达到 60MHz甚至更高,SPI接口一般只用4根连接线即可完成所有的数据通讯和控制操作,因此不占用MCU的数据总线和地址总线,极大的节约了系统的硬件资 源,是一种经济实用的扩展系统存储容量的方法。

本文利用32位DSP-TMS320F2812自身的增强型SPI接口,结合性价比高的串行接口Flash,高效地实现了对系统存储容量的扩展。

2 系统总体介绍

Flash扩展实现的硬件系统是具有Ethernet接口的基于DSP和CPLD的运动控制板,系统总体结构如图1所示,核心器件是TI公司推出的32位 定点DSP-TMS320F2812和Altera公司推出的MAXII系列CPLD-EPM1270G。主要完成系统输入信号的检测、处理,各种控制算 法以及和各种接口(Ethernet接口和RS232接口)的通讯,运动控制系统的部分控制程序、大量的初始化数据和系统的配置信息都存在大容量的串行接 口Flash M25P80中,通过DSP增强型SPI接口实现与核心处理器DSP的高速通信。

作者  | 2010-9-20 19:05:48 | 阅读(176) |评论(0) | 阅读全文>>

4.3寸彩屏液晶TFT LCD驱动

2010-9-20 0:24:54 阅读80 评论0 202010/09 Sept20

/***********************************************

功能:简单的TFT LCD驱动

主函数:lcd.c

***********************************************/

//----------------相关寄存器定义-------------------

#define GPCCON *(volatile unsigned long *)0x56000020

#define GPCUP *(volatile unsigned long *)0x56000028

#define GPDCON *(volatile unsigned long *)0x56000030

#define GPDUP *(volatile unsigned long *)0x56000038

#define GPGCON *(volatile unsigned long *)0x56000060

#define GPGUP *(volatile unsigned long *)0x56000068

#define LCDCON1 *(volatile unsigned long *)0X4D000000

#    define CLKVAL(x)    (x << 8)

作者  | 2010-9-20 0:24:54 | 阅读(80) |评论(0) | 阅读全文>>

各种随机存储器(RAM)的区别

2010-9-19 23:22:48 阅读124 评论0 192010/09 Sept19

存储器包括主存和辅存。

主存具有速度快、价格高、容量小的特点,负责直接与CPU交换指令和数据。

辅存速度慢、价格低、容量大,可以用来保存程序和数据。

常见的辅存如硬盘、软盘等,而现在的主存一般就是指半导体集成电路存储器了。

那主存和内存有什么关系呢?可以这么认为:主存就是广义的内存。

广义的内存分为随机存储器(RAM,RANDOM ACCESS MEMORY)和只读存储器(ROM,READ ONLY

MEMORY)。

一、 RAM

  RAM是指通过指令可以随机的、个别的对各个存储单元进行访问的存储器,一般访问时间基本固定,而与存储单元地址无关。RAM的速度比较快,但其保存的信 息需要电力支持,一旦丢失供电即数据消失,所以又叫易失性存储器,还有一种很有趣的叫法是"挥发性存储器",当然这里"挥发"掉的是数据而不是物理上的芯 片。

  RAM又分动态存储器(DRAM,DYNAMIC RAM)和静态存储器(SRAM,STATIC RAM)。SRAM是利用双稳态

触发器来保存信息的,只要不断电,信息是不会丢失的,所以谓之静态;DRAM利用MOS (金属氧化物半导体)电容存储电荷来储存信息,大家都知道,电容是会漏电的,所以必须通过不停的给电容充电来维持信息,这个充电的过程叫再生或刷新 (REFRESH)。由于电容的充放电是需要相对较长的时间的,DRAM的速度要慢于SRAM。但SRAM免刷新的优点需要较复杂的电路支持,如一个典型

作者  | 2010-9-19 23:22:48 | 阅读(124) |评论(0) | 阅读全文>>

如何选择最适用的SRAM存储器

2010-9-19 23:22:10 阅读87 评论0 192010/09 Sept19

如何选择最适用的SRAM存储器

SRAM(静态随机存取存储器)是一种只要在供电条件下便能够存储数据的存储器件,而且是大多数高性 能系统的一个关键部分。SRAM具有众多的架构,各针对一种特定的应用。本文旨在对目前市面上现有的SRAM做全面评述,并简要说明就某些特定用途而言, 哪类SRAM是其最佳选择。 SRAM从高层次上可以划分为两个大类:即同步型和异步型。同步型SRAM采用一个输入时钟来启动至存储器的所有事务处理(读、写、取消选定等)。而异步 型SRAM则并不具备时钟输入,且必须监视输入以获取来自控制器的命令。一旦识别出某条命令,这些器件将立即加以执行。  

同步SRAM家族分类

与某一特定应用相适应的最佳SRAM的选择取决于多个因素,其中包括功率限制、带宽要求、密度以及读/写操作模式等。可满足不同系统要求的同步型和异步型SRAM多种多样,本文将逐一加以说明。

各种同步型SRAM比较

同 步型SRAM于上个世纪80年代后期首度面市,最初是面向具有极高性能的工作站和服务器中的第二级(L2)高速缓冲存储器应用。进入上个世纪90年代中期 之后,它又在较为主流的应用(包括个人电脑中的第二级高速缓冲存储器)中寻觅到了自己的用武之地。自那以后,在包括高性能网络在内的众多应用的设计中,同 步型SRAM大行其道(在这些应用中,它们通常被用于数据缓冲器、高速暂存器、队列管理功能和统计缓冲器)。

同步型SRAM又可以采用多种不同的架构。下文将对某些“主流”的器件做简要说明。

1:标准同步型SRAM

作者  | 2010-9-19 23:22:10 | 阅读(87) |评论(0) | 阅读全文>>

利用MCU的一个管脚使双色LED发出三种颜色的光

2010-8-9 18:23:57 阅读37 评论1 92010/08 Aug9

许多应用需要一个LED显示两种以上的状态。常见的解决方法是采用多色LED,但多色LED要占用一个以上的控制管脚。

如图所示的简单电路可令双色(红、绿)LED发出三种颜色的光。除此之外,它仅占用微处理器(或 其它可编程设备)一个引脚。该电路的工作原理如下:当控制脚输出高时,LED发红光;当控制脚输出低时,LED发绿光。获得第三种光的技巧在于对控制脚编 程,使其输出一个1 kHz左右的频率。高、低电平的变化使得LED交替发红、绿光,但因其颜色变化频率较快,人眼所见光为桔黄色。

作者:Chandra Shekar Reddy

来源:电子系统设计

作者  | 2010-8-9 18:23:57 | 阅读(37) |评论(1) | 阅读全文>>

工程师设计开发的现实约束

2010-5-5 15:41:57 阅读53 评论0 52010/05 May5

这段时间一直在将国内的设计与国外的设计做对比,一直在与以前主管国内设计的工程师了解现实的困境与约束,我大概整理了大概能列出的所有的现实的约束。

做项目时间太紧:时间点都是客户与项目经理定的,工程师并没有决定权,因此为了时间点与进度不得不去赶时间。

做分析需要人员与成本:熟练运用并理解最坏分析分析方法,通过极端值甚至概率方法分析的需要大量的时间与人员,采用软件需要购买数据库和软件费用。包括那些与质量相关的东西,可靠性预测缺乏软件和人员。做热分析也是同样的,甚至包括故障树与故障模式分析,一句话一个项目没那么多人。

做实验缺乏时间与经费:实验缺乏指导,只能根据项目工程师有限的经验去评估最可能发生错误的情况,不可能做run to fail和失效率最高的问题电路。实验意味着大量的测试设备与金钱投入,比如与EMC相关的实验和与寿命有关的实验。

缺乏可靠的数据:国内的芯片支持与国外的芯片支持力度完全不同,无法得到有效的芯片数据,无法避免芯片可能的潜在问题。

没有系统的失误积累系统:没有时间与人力将实验验证结果整理,为下一次设计作出有益的结论,也没有人整合已有的设计经验作出系统级的分析。

老大们无法接受工程师的反馈意见:某些暂时降低项目工作效率,提高部门工作效率的措施反馈没有得到支持,某些质量考虑因素以成本原因被回避,等等数次沟通无果使得向上反馈的渠道堵死。

开会REVIEW无效果:大部分工程师太忙,没时间或者不认真对待他人的设计,开会和研讨走形式,没有实质性的结果。

与平行部门工程师沟通不善:平行部门的工程师只考虑自己的工作量,并不考虑系统策略以及涉及的相关问题。

作者  | 2010-5-5 15:41:57 | 阅读(53) |评论(0) | 阅读全文>>

WinCE EBOOT的入口Startup.s

2009-12-15 15:13:16 阅读102 评论0 152009/12 Dec15

在Startup.s文件中包含一个startup的入口函数,该函数为EBOOT的最开始的入口。在系统上电或者冷启动的时候,这是第一个被执行的函数。该函数都是由汇编语言编写的,完成基于硬件平台的最初的初始化,也就是CPU的相关初始化,如果有必要,也可以在这里对外围的设备进行初始化。该函数执行到最后,会跳转到C语言的入口,一般是Main函数,或者叫做EBootMain函数。

   这里要多说的一件事情就是在BSP当中存在两个Startup.s文件,一个是EBOOT的Startup.s用于EBOOT本身,另一个是OAL的 Startup.s用于WinCE内核。在很多情况下,两个Startup.s所完成的任务非常的相近,所以一般都会合并成一个Startup.s来完成 相应的功能。比如你在EBOOT的Startup.s中完成了相关的初始化操作以后,在OAL的Startup.s中只需要include位于EBOOT 下的Startup.s就可以了。当然,这两个Startup.s也许不能完全一样,所以不管是真的存在两个Startup.s文件还是共用一个 Startup.s文件,你可能都需要在Startup.s中通过条件编译或者判断某个变量的方法来区分。

  下面具体说一下在Startup.s中,到底应该做些什么事情:

  1.    在系统上电或者复位时,先将CPU设置到正确的模式下面。一般CPU本身会有几种模式,比如对于ARM来说,这个时候一般会设置为管理模式。

  2.    关闭所有的CPU中断。

  3.    关闭内存管理单元MMU和TLB。

作者  | 2009-12-15 15:13:16 | 阅读(102) |评论(0) | 阅读全文>>

WinCE BSP中的REG文件和DB文件

2009-12-15 15:04:38 阅读155 评论0 152009/12 Dec15

1.    REG文件

  注册表文件,这个和Windows操作系统中使用的注册表文件基本一样,在BSP中主要是Platform.reg,该注册表文件描述了和硬件平台相关的配置,大部分是用来描述驱动的相关信息。

  注册标的格式如下:

de>[KEY1]de>

de>"ValueName1"={Value Type}:{data}de>

de>"ValueName2"={Value Type}:{data}de>

de>[KEY2]de>

de>"ValueName1"={Value Type}:{data}de>

  其中Value Type和data相互对应,不同的Value type对应不同的data,具体如下:

  Value Type

data

REG_SZ”my string”字符串类型REG_DWORDdword:NNNN(hex number)DWORD类型REG_MULTI_SZmulti_sz:”my_string_1”,”my_string_2”多字符串类型REG_BINARYhex:xx,xx,xx二进制类型HEXhex(xxxxxxxx):xx,xx,xx,xx十六进制类型

  在注册表中,同样可以使用IF/ENDIF来进行条件包含,其中条件可以是一个WinCE中的环境变量,还可以在该环境变量后加一个空格再加一个惊叹号(“!”),表示没有设置或者不等于的情况,比如:

de>

作者  | 2009-12-15 15:04:38 | 阅读(155) |评论(0) | 阅读全文>>

WinCE BSP中的Dirs文件和Sources文件

2009-12-15 15:03:26 阅读146 评论0 152009/12 Dec15

1. Dirs文件

  关于Dirs文件,就是指定要编译的路径,这个地球人都知道。还是简单介绍一下。按照文档上面介绍有三种定义:DIRS,DIRS_CE和OPTIONAL_DIRS。

  DIRS:就是指定要编译的目录。

  DIRS_CE:只有目录下的源代码用于WinCE的映像文件时,才编译该目录。

  OPTIONAL_DIRS:指定可以选择编译的目录。比如:OPTIONAL_DIRS=proj1,如果想编译proj1目录,可以设置BUILD_OPTIONS=proj1,然后运行build命令就可以了。

  举个例子:

de>DIRS= common

      drivers

      oal

      bootloaderde>

  表示需要编译common,drivers,oal和bootloader目录。

  DIRS=* 

  表示编译当前的所有目录。

  2. Sources文件

   在WinCE BSP中会看到很多sources文件,一般会和源代码放在同一个目录,当然不是绝对的。这些sources文件里面就是定义了一些宏,主要用于告诉 Build.exe在编译源代码的时候应该如何编译和链接,告诉Nmake.exe如何编译源代码以及最后生成什么类型的文件。

  下面具体介绍一下:

  TARGETNAME:最后编译完后生成的目标文件的名字,不包括扩展名。

作者  | 2009-12-15 15:03:26 | 阅读(146) |评论(0) | 阅读全文>>

手机开发中Visual Studio以及相关工具的使用

2009-6-26 9:59:23 阅读249 评论0 262009/06 June26

第一个问题,如何安装开发工具?

1.安装Visual Studio。以下的安装顺序不能更改。

2.安装Activesync 4.5。 安装之后打开ActiveSync界面如下,当手机和电脑处于未连接状态时,会显示状态栏白色的“小圈圈”,连上后会变绿色。有人会问 ActiveSync的作用,简单的说是手机与PC同步之用,有时你的模拟器也需要跟PC同步时也需要它(比如通过PC上网,具体设置从网上搜搜)。更多 请看ActiveSync Help。

3.安装Windows Mobile 6 Professional SDK Refresh.msi,安装Windows Mobile 6 Professional Images (CHS).msi(中文包)。安装之后就有中、英文模拟器可用了。

其实到这一步一般的开发就能满足了,下面的是专业开发所需要的,需要向微软和第三方购买。

-----------------------------------------------------------------------------------------------------------

4.安装Platform Build for Windows Mobile(要向微软购买)。

作者  | 2009-6-26 9:59:23 | 阅读(249) |评论(0) | 阅读全文>>

Windows Mobile安装包制作

2009-6-26 9:57:14 阅读130 评论0 262009/06 June26

首先新建一个Win32项目,想把一个EXE文件打包,DLL文件、或者空文件(比如仅仅想修改目标设备的注册表)打包过程都是一样的:

现在在原来的项目上添加一个智能设备CAB项目:

文件系统中选择需要将你的EXE或者DLL文件放到目标设备的哪个文件夹上。如果需要在目标设备“Program Files”文件夹上再新建个文件夹,则在“Program Files”上右击添加文件夹:

这里我们想把项目生成的EXE程序放到Windows文件夹上,则删除“Program Files文件夹”,新建个“Windows文件夹”,并在上面添加项目输出:

我们现在不光要把EXE文件添加到目标设备,还要修改目标设备的注册表,现在先切换到注册表试图:

可以新建,可以导入(导入现有的REG文件,一般是从模拟器中的注册表保存得到的):

我常习惯直接修改CAB的项目配置文件,此处注意这个文件只支持ASCII码,当里面有汉字时(当你的机器名是中文时,或者前面的添加注册表键值时可能造成),编译时会出错,提示Unicode转换ASCII码错误:

这里就是从注册表试图中添加的配置信息:

OK,下面点击生成吧。在开发中,如果我们想看DLL运行时的效果时,常常需要这样制作CAB包。

最后你的Cab包可能需要代码签名,否则一些像服务这样的DLL文件如果本身也没有签名的话将不能正常运行。

下面介绍的是如何在手机“程序”一栏中添加快捷方式:

将\windows\start me

作者  | 2009-6-26 9:57:14 | 阅读(130) |评论(0) | 阅读全文>>

RS-232串行接口标准

2009-6-17 11:14:06 阅读109 评论0 172009/06 June17

目前RS-232是PC与通信工业中应用最广泛的一种串行接口,其中EIA(Electronic Industry Association)代表美国电子工业协会,RS代表推荐标准,232是标识号。RS-232被定义为一种在低速率串行通信中增加通信距离的单端标 准。RS-232采取不平衡传输方式,即所谓单端通信。一个完整的RS-232接口有22根线,采用标准的25芯插头座(DB-25)。除此之处,目前广 泛应用的还有一种9芯的RS-232接口(DB-9)。它们的外观都是一个D形的,不过,对接的两个接口又分为针式的“公头”和孔式的“母头”两 种,DB-9“母头”和“公头”与DB-25的“母头”和“公头”分别如图3-17所示。

图3-17  DB-9/DB-25的“公头”和“母头”

在RS-232标准中定义了逻辑1和逻辑0电压级数,以及标准的传输速率和连接器类型。信号大小在正的和负的3~15V之间。RS-232规定接近 0的电平是无效的,逻辑1规定为负电平,有效负电平的信号状态称为传号(Marking),它的功能意义为OFF;逻辑0规定为正电平,有效正电平的信号 状态称为空号(Spacing),它的功能意义为ON。根据设备供电电源的不同,正负5、正负10、正负12和正负15这样的电平都是可能的。

在RS-232标准中规定的设备可以分为数据终端设备(DTE)和数据通信设备(DCE)两类,这种分类定义了不同的线路用来发送和接收信号。一般来说,计算机和终端设备有DTE连接器,调制解调器和打印机有DCE连接器。

R

作者  | 2009-6-17 11:14:06 | 阅读(109) |评论(0) | 阅读全文>>

计算机的经典吹牛

2009-4-29 18:00:46 阅读73 评论0 292009/04 Apr29

1.我的cpu是我用一个电容一个电容焊接起来的!好大一砣啊……哈哈哈!

2.楼上的很厉害,可怜我昨天费了一个晚上的工夫才用小刀在我的硬盘上刻了一个操作系统,我要向大家学习啊!

3.吹吧,吹牛不上税……我昨天把我家的那台老式电视拆了,七拼八凑变成了一块gf4ti4800的显卡,赚了……

4,这算什么,刚才我边吃苹果边上网,忽然就死机了,重启一下就发现操作系统就变成了mac os.

5,昨天闲着没事,看着自己的显示器烦,随便找了块碎玻璃,几张马粪纸,又拆了一个收音机,组装了台液晶显示器,凑合用了.

6,我刚把我56k猫超频了,结果,我一上网,我家小区那一片的所有电话全部占线.

7,我说点老的事情吧,那是我刚上大学的时候,大家都用286,显示器也是单显,硬盘就更小的可怜了.我一想,这样不行,于是拆了个彩电的显示屏装在显示 器上,单显变彩显了.偶后来嫌硬盘小,于是回收了一千张5英寸软盘,把里面的芯全部拿出来,粘在了一起,于是一个1g多的硬盘就出来了.

8,我穷,买不起计算机,现在只能拿这个5块钱买的计算器改成计算机上网.缺点是屏幕小,但是原来的计算器是太阳能的,我保留了这个功能.穷啊,将就吧.

9,各位真是强人啊.我只是把电视遥控加了个带摄象头当新款手机凑合着用.

10,这里的帖子实在太大,每次打开都快死机.看来内存不足.虽然现在内存便宜,但是我穷啊,还只用128m的.我琢磨了半天,发现一个好办法,我把内存反过来插,嘿.嘀的一声自检通过,内存变成了821m的啦.

作者  | 2009-4-29 18:00:46 | 阅读(73) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 

网易新闻资讯

 
 
 
 
新闻标题 
列表加载中...
 
 
 
 
 
 
 
日志评论
评论列表加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2012

   
创建博客 登录  
 关注