enter——选取或启动
esc——放弃或取消
f1——启动在线帮助窗口
tab——启动浮动图件的属性窗口
pgup——放大窗口显示比例
pgdn——缩小窗口显示比例
end——刷新屏幕
del——删除点取的元件(1个)
ctrl+del——删除选取的元件(2个或2个以上)
x+a——取消所有被选取图件的选取状态
x——将浮动图件左右翻转
y——将浮动图件上下翻转
space——将浮动图件旋转90度
crtl+ins——将选取图件复制到编辑区里
shift+ins——将剪贴板里的图件贴到编辑区里
shift+del——将选取图件剪切放入剪贴板里
alt+backspace——恢复前一次的操作
ctrl+backspace——取消前一次的恢复
crtl+g——跳转到指定的位置
crtl+f——寻找指定的文字
alt+f4——关闭protel
spacebar——绘制导线,直线或总线时,改变走线模式
v+d——缩放视图,以显示整张电路图
v+f——缩放视图,以显示所有电路部件
home——以光标位置为中心,刷新屏幕
esc——终止当前正在进行的操作,返回待命状态
backspace——放置导线或多边形时,删除最末一个顶点
delete——放置导线或多边形时,删除最末一个顶点
ctrl+tab——在打开的各个设计文件文档之间切换
alt+tab——在打开的各个应用程序之间切换
a——弹出edit\align子菜单
b——弹出view\toolbars子菜单
e——弹出edit菜单
f——弹出file菜单
h——弹出help菜单
j——弹出edit\jump菜单
l——弹出edit\set location makers子菜单
m——弹出edit\move子菜单
o——弹出options菜单
p——弹出place菜单
r——弹出reports菜单
s——弹出edit\select子菜单
t——弹出tools菜单
v——弹出view菜单
w——弹出window菜单
x——弹出edit\deselect菜单
z——弹出zoom菜单
左箭头——光标左移1个电气栅格
shift+左箭头——光标左移10个电气栅格
右箭头——光标右移1个电气栅格
shift+右箭头——光标右移10个电气栅格
上箭头——光标上移1个电气栅格
shift+上箭头——光标上移10个电气栅格
下箭头——光标下移1个电气栅格
shift+下箭头——光标下移10个电气栅格
ctrl+1——以零件原来的尺寸的大小显示图纸
ctrl+2——以零件原来的尺寸的200%显示图纸
ctrl+4——以零件原来的尺寸的400%显示图纸
ctrl+5——以零件原来的尺寸的50%显示图纸
ctrl+f——查找指定字符
ctrl+g——查找替换字符
ctrl+b——将选定对象以下边缘为基准,底部对齐
ctrl+t——将选定对象以上边缘为基准,顶部对齐
ctrl+l——将选定对象以左边缘为基准,靠左对齐
ctrl+r——将选定对象以右边缘为基准,靠右对齐
ctrl+h——将选定对象以左右边缘的中心线为基准,水平居中排列
ctrl+v——将选定对象以上下边缘的中心线为基准,垂直居中排列
ctrl+shift+h——将选定对象在左右边缘之间,水平均布
ctrl+shift+v——将选定对象在上下边缘之间,垂直均布
f3——查找下一个匹配字符
shift+f4——将打开的所有文档窗口平铺显示
shift+f5——将打开的所有文档窗口层叠显示
shift+单左鼠——选定单个对象
crtl+单左鼠,再释放crtl——拖动单个对象
shift+ctrl+左鼠——移动单个对象
按ctrl后移动或拖动——移动对象时,不受电器格点限制
按alt后移动或拖动——移动对象时,保持垂直方向
按shift+alt后移动或拖动——移动对象时,保持水平方向
Jacob 技术 Electrical
把模块上那块万恶的CPLD拆了,直接驱动口线,成功驱动~模块产生的正弦波很漂亮,频率能到很高,到普源25M的示波器极限是没什么问题。芯片转换出来的方波就不行了,上M就不漂亮~
对输入AD9850的标准正弦波,进行直接数字合成生成。输入频率最高为125MHZ,可生成0-Fclk/2范围内的任意频率正弦波和方波。
+3.3V或+5V单电源工作,正常,掉电模式。
可输入的时钟频率最高可达125MHZ
频率分辨率达到2^-32
AD9850 采用直接数字合成技术,利用片内集成的高性能的DAC和高速比较器,形成完全可编程的频率合成器和时钟发生器。可输入的时钟频率最高可达125MHZ,具有32bit的频率字使得频率分辨率达到2-32; 5bit来进行相位调制,允许输出以180o,90o,45o,22.5o,11.25o,以及它们的任意组合和相位角为增量跳变。具有可选的串行或并行数据传输方式。
此模块应用中,dds9850采用的是并行输入方式。
并行输入方式下,内部40bit的寄存器装载5个8位的字节。如下为并行输入时的频率字:W0包含相位调制字,掉电模式控制和装载模式控制。接下来的W2到W5是32bit的频率控制字。
Jacob 技术 Electrical, MCU
以一个最简单的计数器为例:
Port(
clock:in std_logic;
pulse:in std_logic;
q:out std_logic_vector(3 downto 0)
);
q输出为对pulse跳变沿的递增计数。clock为系统高速时钟。
Process(clock) begin
if rising_edge(clock) then
dly1pul <= pulse;
dly2pul <= dly1pul;
end if;
End process;
en <= dly1pul and not dly2pul;–上升沿
–en <= not dly1pul and dly2pul;–下降沿
–en <= dly1pul xor dly2pul;–上升沿和下降沿
Process(clock) begin
if rising_edge(clock) then
if en = ‘1′ then
cnt <= cnt + 1;
end if;
end if;
End process;
q <= cnt;
单对于此小问题,当然采用倍频实现双沿计数也是可行的,但是我们不要忘记,倍频器在很多CPLD或FPGA中是不支持的,即便支持其资源也是很宝贵的。
我看到的一些设计中,动辄采用某一信号作为时钟,应该说这种做法是欠妥的。因为不是全局时钟的时钟信号最大扇出是有限的,其很难保证时钟延时应小于信号延时的基本要求。当遇到要对某个信号的跳变沿处理时,建议采用上述小例子中en信号的处理办法。
Jacob 技术 FPGA
#define EERE 0
#define EEWE 1
#define EEMWE 2
void E2PROM_Write(unsigned int Addr,unsigned char Data)
{
while(EECR & (1<
EEAR=Addr;
EEDR=Data;
EECR|=(1<
EECR|=(1<
}
unsigned char E2PROM_Read(unsigned int Addr)
{
while(EECR & (1<
EEAR=Addr;
EECR|=(1<
return EEDR;
}
E2PROM读写函数,没有考虑中断的影响,毕竟这东西用的不多,本来以为这样子就可以用了,写了段记录开机次数的程序。
temp=E2PROM_Read(0×00a);
E2PROM_Write(0×00a,temp+1);
运行,结果0×00a地址的值确实在增加,只不过是不停的增加,换句话来说就是单片机不停的重启,查了写资料,发现是看门狗的缘故,在写E2PROM的时候必须喂狗,不然单片机就会复位。看门狗的操作我还不会,所以就从熔丝把看门狗关了,程序运行正常。明天有时间研究看门狗去。。。
Jacob 技术 Electrical, MCU, Programming
从沁恒电子拿来的空板和芯片,焊了一下上系统立马能用了,程序写了一些,上位机能对下位机发数据了,下位机对上位机发实现起来应该也不困难,就是上位机软件不太会写,不知道怎么用它的dll库文件,沁恒网站上好像也没有c#的实例,先放一放吧,资料过一段时间整理好了再传
Jacob 技术 Electrical
没看到有资料介绍这个,虽然很简单
1. 进入CV主界面,点图标栏上的甲壳虫标志,弹出一个对话框,在这里选择AVR Studio主程序的位置,和版本。
2. 确定后,一个警告框提示你编译时将多生成一个cof文件用于调试,用于调试的AVR Sudio的版本不能小于4.06,确定后即可进入AVR Studio界面。
3. 点OPEN打开生成的cof文件。这里提示将生成用于调试的aps文件,确定后选择调试器的类型和仿真芯片的类型,这是目标板和仿真器都要供电。
4. 右边的方框里显示代码文件,有一个黄色的箭头指向将要执行的语句,在这里可以和别的仿真器一样实现断点,单步执行等操作。左侧可以看到寄存器值等。
Jacob 技术 MCU
昨天在南京举行了TI的430DAY活动,在金陵之星大酒店进行了一天的讲座。最后是每人赠送一个eZ430开发工具和2个小开发板。
eZ430是个2线的仿真器,这个小东西创意的确不错,可惜使用不方便,需要将外壳拆下来才可以使用。感觉这样很容易损坏,接口也感觉不牢,容易接触不良。还是缺少使用说明,这样的结果估计一半人都不会使用的。
触摸板可以独立使用,也可以和eZ430联合使用。触摸板下面是一个松下的CR2032锂电池,将触摸板右上方的短路快连上,就可以做触摸板实验,按下任意键LED将发光,不按下就不亮。按键1亮度最高,按键4最暗。
比较意外的是430F22X学习板还带了一根并口线和探针,以及没有焊接的两个双排插针。
这个形式的研讨会只是了解一下而已,只有赠送的开发板比较吸引人,很多人大概都是冲着它来的。不过对430的印象好了不少。
Jacob 技术 430day
路由硬件:贝尔金F5D7230-4,4M Flash,16M RAM美国版
路由固件:DD-WRT v24 Beta (06/20/07) micro
目的:窗口处有极微弱的TP-LINK信号,大概在-88dB左右,目的是把它放大引入到房间内。嘿嘿,免费上网
实现方案:TP-LINK路由的IP是192.168.1.1,DHCP分配地址
将刷好DD固件的7230IP设为192.168.2.1,DHCP分配地址
在 7230设置里Wireless下Basic Setting里将Wireless Mode改成Repeater(中继),SSID改为TP-LINK的发射的SSID,通道一定要填对,Virtual Network Interface里填入7230发射的SSID,为了不让对方发现,将两者的Broadcast都设为Disable,保存设置。设置后的界面如下:
设置完就是比较重要的一个步骤了,将电脑连接到7230路由,这里要注意,我们把SSID隐藏了,所以要在Windows下手动添加一个无线网络。然后在电脑上不停地ping TP-LINK的路由,同时移动7230,找到一个信号最好的地方,即ping值最低的,最稳定的地方,将路由固定。
设置成功后上网速度感觉能达到ADSL的极限速度。成功后在Status下 Sys-info里能看到获得的ip和信号的强弱,注意下图红色框子。
123cha识别出的ip是南京市铁通:
铁通的网络实在不怎么样,不过蹭网要求也就不这么高了。。。
Jacob 技术 belkin router
1. Use ‘=’ for combinational assignments and ‘<=' registered assignments.
2. If you are describing combinational logic in an always block:
(1)Make sure all input signals are in event list.
(2)Make sure a value is assigned to an output signal on every path through block.
3. Make the language work for you.
Use built in. E.g. +, -, <<, >>, case …
4. Think of hardware always !
5. Synchronous design.
6. Use some useful synthesizable syntax only.
7. No compare to an unknown value (x, z)
8. Reset a sequential circuit before it works !
9. Non-synthesizable but powerful verilog syntax could be used in test pattern.
Jacob 技术 FPGA
比较重要的关键字
module endmodule
wire reg
连续赋值 assign
过程赋值 initial always
非阻塞赋值 Non-blocking <=
阻塞赋值 blocking =
Jacob 技术 FPGA