最新日志

发表于:2008-5-1 16:34:00
标签:无标签

0

POWERPCB器件封装的命名约定

本文转自http://www.ecbbs.com/dispbbs.asp?BoardID=1060&ID=11579&replyID=&skin=1

1、电阻:
    A、表贴标准电阻,以SR+封装尺寸代号命名。 例6032:SR6032。
    B、插装标准电阻,以AXIAL+封装尺寸代号命名。 例300MIL的插装电阻AXIAL0.3。
    C、电位器、功率电阻根据具体封装结合DATASHEET来命名。
2、电容:
    A、表贴标准电阻,以SC+封装尺寸代号命名。 例6032:SC6032。
    B、插装标准电阻: 轴向电容以RAD+封装尺寸代号命名。 例300MIL的插装电容RAD0.3 径向电容以RB+封装尺寸代号命名。 例400MIL的圆柱形电容RB.2/.4
    C、其它电容根据具体封装结合DATASHEET来命名。
3、双排表贴标准封装命名规则:
    SOP(引脚数)+脚间距+元件的宽度(同一水平位置PIN与PIN最大距离) 例0.5脚间距宽度400MIL的20引脚的元件: SOP20-50-400
4、双排插装标准封装命名规则:(指DIP一类的,DIP24以后有300和600宽度两种。)
    A、300MIL宽度的DIP命名 DIP+引脚数 例10脚DIP元件 DIP10
    B、600MIL宽度的DIP命名 DIP+引脚数+W 例24脚DIP元件 DIP24-W
5、PLCC封装命名规则: PLCC+引脚数 6、QFP一类封装命名规则:
    A、四面引脚数目相同:QFP(引脚数)+脚间距+元件的宽度(同一水平位置PIN与PIN最大距离)
    B、四面引脚数目不相同: QFP(引脚数)+脚间距+元件的宽度(同一水平位置PIN与PIN最大距离)+元件的高度
7、BGA一类封装命名规则: BGA引脚数+节距+行数X列数 (如果行数与列数相同则只取行数)
8、PGA命名与BGA相同。
9、标准2.54间距单排插针封装命名规则:(丝印距焊盘中心为1.27) SIP+引脚数
10、标准2.54间距单排插针封装命名规则:(丝印距焊盘中心为1.27) IDC+引脚数
11、电感封装命名规则: 普通表贴L+封装尺寸代号命名。 例 L6032。 其它根据具体封装结合DATASHEET来命名。
其他封装命名根据实际情况结合DATASHEET或根据元件来命名。 例CF卡封装CF

点击此处查看原文 >>

系统分类: PCB   |    用户分类:    |    来源: 整理

评论(0) | 阅读(25)
发表于:2008-4-22 0:19:49
标签:无标签

0

Windows Assembly Programming Tutorial

Windows Assembly Programming Tutorial
by Jeff Huang

无意间看到的一篇WIN32汇编入门的好文章。

pdf

点击此处查看原文 >>

系统分类: 软件开发   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(43)
发表于:2008-4-13 4:02:19
标签:无标签

0

安装DR.COM导致不能玩局域网游戏解决办法

我住的地方开始实施上网实名认证,大概是有些人在网上说话写字不是很负责任吧,对了这个倒没有什么要评论的。问题是那个上网认证客户端软件--城市热点的DR.COM宽带认证客户端,只要开启DR.COM接到INTERNET,局域网内计算机之间网络通讯就会出现问题--无法在局域网玩CS、BF2等游戏,DR.COM的作法未免太霸道了。
在网上找到了一个解决办法,是通过虚拟网卡(所谓VPN)在INETERNET上虚拟出一个局域网,这个方法还是可行,不过总觉得这种作法开销较大,网速也不如以前了,不得已决定自己试着解决问题。
以下是我的作法,解决了运行DR.COM后无法玩局域网游戏的问题,有需要的网友可以参照着试一下,注意风险自负。
步骤如下:
1)确认上网客户端软件名称和版本,本方法证实适用于DR.COM宽带认证客户端V3.482,其他版本没验证过。
2)在DR.COM安装路径找到(默认为"C:\Program Files\Dr.COM 宽带认证客户端")"ishare_user.exe",对该文件作备份,需要时可以还原。
3)用UltraEdit-32打开"ishare_user.exe",应该显示为十六进制,如果不是应选为"十六进制编辑"方式。
4)用UltraEdit-32的查找功能,二进制方式查找"68 E8 03 00 00 FF 15 C0",找到后将其改为"68 FF FF FF FF FF 15 C0",将文件存盘,退出EltraEdit-32。
5)远行DR.COM宽带认证客户端,上网认证,局域网的通讯应该恢复正常了,可以通过ping指令查检网络是否恢复正常。
原理:
通过反汇编发现ishare_user.exe运行之后,将创建一个守护线程(这是暂称为线程A),线程A每间隔一秒钟查检一次本机ARP缓冲区,发现有记录就清空ARP缓冲区,导致运行DR.COM宽带认证客户端的计算机,无法觉察到局域网中其他计算机的存在,局域网通讯会出现问题。问题找到了,解决的办法有一些,比如可以改变删除ARP缓冲区的条件,使ARP缓冲区不被清除,我懒得对查机器码,直接将Sleep的参数改成INFINITE,这个参数原来是1秒,改成INFINITE后线程A永远睡眠,也就无法定期清除ARP缓冲区,问题解决。

顺便提一下,网上有文章说安装SYGATE可以实现一拖多的方式上网,我认为这种方法对于V3.482版本是行不通的,在上面提到的线程A中,每间隔一秒钟检测一次是否有sgserv.exe服务,发现该服务就将其杀死,可见用SYGATE来实现一拖多上网是有问题的。

点击此处查看原文 >>

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

评论(0) | 阅读(38)
发表于:2008-4-1 3:24:50
标签:无标签

0

CAN及CANOPEN通讯协议大全

本贴收集了CAN总线规范2.0,及CanOpen通讯协议相关的标准文件。

CAN Specification V2.0

pdfpdfpdf

Cia DS102 V2.0: CAN Physical Layer for Industrial Applications

pdf
Cia DS150 V1.1: CAN power management layer specification

pdf
Cia DS201-DS207 V1.1: CAN Application Layer for industrial applications

rarrarrar
Cia DS301 V4.02: Application Layer and Communication Profile

pdf
Cia DS301 appendix V0.2: Electronic Data Sheet Specificationfor CANopen

pdf
Cia DS303-1 V1.3: Cabling and connector pin assignment

pdf
Cia DS303-2 V1.3: Representation of SI units and prefixes

pdf
Cia DS303-3 V1.2: Indicator specification

pdf
Cia DS304 V1.01: Framework for safety-relevant communication

pdf
Cia DS305 V1.0: Layer Setting Services and Protocol

pdf
Cia DS306 V1.3: Electronic data sheet specification for CANopen

pdf
Cia DS401 V2.1: Device Profile for Generic I/O Modules

pdf
Cia DS404 V1.2: Device Profile Measuring Devices and Closed-Loop Controllers

pdf
Cia DS405 V2.0: Interface and Device Profile for IEC 61131-3 Programmable Devices

pdf
Cia DS406 V3.0: Device Profile for Encoders

pdf
Cia DS408 V1.52: Device profile fluid power technology proportional valves and hydrostatic transmissions

pdf
Cia DS418 V1.01: Device profile for battery modules

pdf
Cia DS419 V1.01: Device profile for battery chargers

pdf

Cia DSP302 V3.11: Framework for Programmable CANopen Devices

pdf
Cia DSP402 V1.1: Device Profile for Drives and Motion Control

rarrar
Cia DSP407 V1.0: Application Profile for Passenger Information

pdf
Cia DSP410 V1.0: Device Profile for Inclinometer

pdf
Cia DSP413 V1.0: Device Profile for Truck GatewaysCia DSP414 V1.0: Device Profiles for Weaving Machines

pdfpdfpdf

Cia DSP414 V1.0:  Device Profiles for Weaving Machines

pdfpdf

点击此处查看原文 >>

系统分类: 通信网络   |    用户分类:    |    来源: 整理

评论(0) | 阅读(87)
发表于:2008-3-26 7:44:34
标签:无标签

0

COFF.DLL一个可以解释TI DSP .out文件的动态库源代码

coff.dll是若干年前写的一个程序,代码结构极差,现在自己都看不懂了:(  这两天发现了一个很巧妙的用处,才把它放了上来。

这个动态库是用来解释TI DSP的Common Object File Format文件,就是通常看到的.out文件。

coff库实现了一些功能:
1)通过调用该库可以采用全局变量名称,读写相应变量在.out文件中的内容;
2)通过调用该库以全局变量名称作为参数,返回该变量在内存中的地址;
3)通过调用该库以变量的地址作为参数,返回该变量的名称;

coff库起初始是和PC机软件配合,通过串行口调试现场运行的机器,现场运行的机器连接仿真器经常出现炸机,不得于想出这种古怪的办法。

最近一个项目,客户要求控制板DSP内部存一个产品序列号,产品序列号自然要求每个DSP都不一样,这个库派上用场了,每烧写一片DSP,通过coff.dll修改.out文件中的产品序列号,省去了每烧写一块DSP重新编译工程的郁闷事。

使用方法:
将coff.dll、coff.lib、coffout.h三个添加到需要的VC工程:coff.dll运行时需要的库;coffout.h库函数的声明文件;coff.lib只有才用隐式调用才需要,采用LoadLibrary方式显式调用可以不要用coff.lib。

rar

点击此处查看原文 >>

系统分类: DSP   |    用户分类:    |    来源: 原创

评论(0) | 阅读(50)
发表于:2008-3-26 6:43:58
标签:无标签

0

CAN总线监听程序源代码

一款用于监听CAN总线通讯数据的小工具,支持ZLG各种CAN接口卡,本人在PCI9820上实验通过。

附件中附有源代码,VC 2005编译通过,可以自行更改源代码完善。

使用方法:

1)安装Zlg的CAN接口卡。

2)下载附件并解压缩,远行CanMonitor.exe即可。

3)点击捕获->启动,设置相关参数后点确定,默认设置支持PCI9820 CAN接口卡。

4)点击编辑->清除,可以清除窗口显示的数据。

rar

点击此处查看原文 >>

系统分类: 软件开发   |    用户分类:    |    来源: 原创

评论(0) | 阅读(52)
发表于:2008-3-25 16:21:53
标签:无标签

0

自己制作USB Blaster的电路图

附件是本人自己制作Altera USB Blaster的电路图,实际用于ep1c6和epm570程序下载,兼容Altera原厂的usb blaster。

pdf

点击此处查看原文 >>

系统分类: CPLD/FPGA   |    用户分类:    |    来源: 原创

评论(1) | 阅读(77)
发表于:2008-3-25 16:08:26
标签:无标签

0

大端(Big Endian)与小端(Little Endian)详解

大端(Big Endian)与小端(Little Endian)详解

(本文转自)http://hi.baidu.com/serial_story/blog/item/7e110587c3ed8e29c75cc3c7.html

【大端(Big Endian)与小端(Little Endian)简介】
Byte Endian是指字节在内存中的组织,所以也称它为Byte Ordering,或Byte Order。
     对于数据中跨越多个字节的对象, 我们必须为它建立这样的约定:
(1) 它的地址是多少?
(2) 它的字节在内存中是如何组织的?
    针对第一个问题,有这样的解释:
    对于跨越多个字节的对象,一般它所占的字节都是连续的,它的地址等于它所占字节最低地址。(链表可能是个例外, 但链表的地址可看作链表头的地址)。
    比如: int x, 它的地址为0x100。 那么它占据了内存中的Ox100, 0x101, 0x102, 0x103这四个字节(32位系统,所以int占用4个字节)。
    上面只是内存字节组织的一种情况: 多字节对象在内存中的组织有一般有两种约定。 考虑一个W位的整数。
    它的各位表达如下:[Xw-1, Xw-2, ... , X1, X0],它的
    MSB (Most Significant Byte, 最高有效字节)为 [Xw-1, Xw-2, ... Xw-8];
    LSB (Least Significant Byte, 最低有效字节)为 [X7,X6,..., X0]。
    其余的字节位于MSB, LSB之间。

LSB和MSB谁位于内存的最低地址, 即谁代表该对象的地址?
这就引出了大端(Big Endian)与小端(Little Endian)的问题。
如果LSB在MSB前面, 既LSB是低地址, 则该机器是小端; 反之则是大端。
DEC (Digital Equipment Corporation,现在是Compaq公司的一部分)和Intel的机器(X86平台)一般采用小端。
IBM, Motorola(Power PC), Sun的机器一般采用大端。
当然,这不代表所有情况。有的CPU即能工作于小端, 又能工作于大端, 比如ARM, Alpha,摩托罗拉的PowerPC。 具体情形参考处理器手册。

具体这类CPU是大端还是小端,应该和具体设置有关。
(如,Power PC支持little-endian字节序,但在默认配置时是big-endian字节序)
一般来说,大部分用户的操作系统(如windows, FreeBsd,Linux)是Little Endian的。少部分,如MAC OS ,是Big Endian 的。
所以说,Little Endian还是Big Endian与操作系统和芯片类型都有关系。

Linux系统中,你可以在/usr/include/中(包括子目录)查找字符串BYTE_ORDER(或
_BYTE_ORDER, __BYTE_ORDER),确定其值。BYTE_ORDER中文称为字节序。这个值一般在endian.h或machine/endian.h文件中可以找到,有时在feature.h中,不同的操作系统可能有所不同。

对于一个数0x1122
使用Little Endian方式时,低字节存储0x22,高字节存储0x11
而使用Big Endian方式时, 低字节存储0x11, 高字节存储0x22

【用函数判断系统是Big Endian还是Little Endian】
bool IsBig_Endian()
//如果字节序为big-endian,返回true;
//反之为   little-endian,返回false
{
    unsigned short test = 0x1122;
    if(*( (unsigned char*) &test ) == 0x11)
       return TRUE;
else
    return FALSE;

}//IsBig_Endian()

点击此处查看原文 >>

系统分类: 软件开发   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(54)
发表于:2008-3-24 10:23:46
标签:无标签

0

VC++如何确定DLL使用的导出方法

Visual C++ 确定要使用的导出方法 (转自MSDN)

若要确定用于导出函数的方法(.def 文件或 __declspec(dllexport) 关键字),请回答下列问题:

  • 是否要一直添加附加的导出函数?

  • 谁要使用 DLL?例如,是由许多无法重新生成的可执行文件使用的第三方 DLL 还是仅由可以轻松重新生成的应用程序使用的 DLL?

使用 .DEF 文件的优缺点

在 .def 文件中导出函数使您得以控制导出序号。当将附加的导出函数添加到 DLL 时,可以给它们分配更高的序号值(高于任何其他导出函数)。当您进行此操作时,使用隐式链接的应用程序不必与包含新函数的新导入库重新链接。这非常重要,例如,在设计将由许多应用程序使用的第三方 DLL 时。可以通过添加附加功能不断地增强 DLL,同时确保现有应用程序继续正常使用新的 DLL。MFC DLL 是使用 .def 文件生成的。

使用 .def 文件的另一个优点是:可以使用 NONAME 属性导出函数,该属性仅将序号放到 DLL 的导出表中。对具有大量导出函数的 DLL,使用 NONAME 属性可以减小 DLL 文件的大小。有关编写模块定义语句的信息,请参见模块定义语句的规则。有关序号导出的更多信息,请参见按序号而不是按名称从 DLL 导出函数

使用 .def 文件的主要缺点是:在 C++ 文件中导出函数时,必须将修饰名放到 .def 文件中,或者通过使用外部“C”用标准 C 链接定义导出函数,以避免编译器进行名称修饰。

如果需要将修饰名放到 .def 文件中,则可以通过使用 DUMPBIN 工具或 /MAP 链接器选项来获取修饰名。请注意,编译器产生的修饰名是编译器特定的。如果将 Visual C++ 编译器产生的修饰名放到 .def 文件中,则链接到 DLL 的应用程序必须也是用相同版本的 Visual C++ 生成的,这样调用应用程序中的修饰名才能与 DLL 的 .def 文件中的导出名相匹配。

使用 __declspec(dllexport) 的优缺点

使用 __declspec(dllexport) 非常方便,因为不必考虑维护 .def 文件和获取导出函数的修饰名。例如,如果您设计的 DLL 供自己控制的应用程序使用,则此方法很适用。如果通过新的导出函数重新生成 DLL,还必须重新生成应用程序,因为如果使用不同版本的编译器进行重新编译,则导出的 C++ 函数的修饰名可能会发生变化。

点击此处查看原文 >>

系统分类: 软件开发   |    用户分类:    |    来源: 转贴

评论(0) | 阅读(113)
发表于:2008-3-6 23:17:52
标签:无标签

0

复位电路IC替代表

今天给DSP板选择复位IC,发现一篇文章很不错,整理成表格与大家分享,备用。

本文内容转自:http://www.dzsc.com/dzbbs/20061211/20076520524265868.html

附件pdf

点击此处查看原文 >>

系统分类: 嵌入式   |    用户分类:    |    来源: 整理

评论(0) | 阅读(42)
总共 , 当前 /