搜档网
当前位置:搜档网 › nios自定义外设教程

nios自定义外设教程

nios自定义外设教程
nios自定义外设教程

自定义指令设计

定义指令是基于NIOSII处理器SOPC系统的一个重要特征。NIOSII处理器定制指令不仅扩展了CPU的指令集,还能提高对时间要求严格的软件运行速度,因此提高了系统的整体性能。采用定制指令,用户可以实现传统处理器无法达到的最佳性能。在对数据处理速度要求比较高的场合,把由标准指令序列实现的核心功能变成由一个用于定制的指令来实现,可以明显提高软件的执行效率。给予硬件处理模块的定制指令可通过单个时钟周期或者多个时钟周期的硬件算法操作完成原本十分复杂的处理任务。NIOSII处理器最多支持256条的定制指令,加速通常由软件实现的逻辑和复杂的数学运算。具有定制指令的NiosII硬件结构如图1所示。

图1具有定制指令的NiosII硬件结构

用户指令实质上就是让软核处理器完成由硬件逻辑实现的某种功能,这个硬件逻辑连接到NIOSII处理器的算术逻辑单元上。对于NIOSII的标准指令,NIOSII使用ALU来完成相应的算术逻辑操作;对于自定义指令,则采用用户自己建立的硬件逻辑来完成运算。

用户指令分多种,有组合逻辑指令、多周期指令、扩展指令等等,学明白一个,也就举一反三了, Altera提供了用户模块HDL的模板,通过裁减就可以适应多种指令类型了。模板存放的路径为:

\altera\kits\nios2\examples\verilog\custom_instruction_templates

用户指令逻辑模块结构如图2所示。

z图2 用户指令逻辑结构

例子:

// Verilog Custom Instruction Template File for Combinatorial Logic

module ci_nand(

dataa, // Operand A (always required)

datab, // Operand B (optional)

result // result (always required)

);

//INPUTS

input [31:0] dataa;

input [31:0] datab;

//OUTPUTS

output [31:0] result;

// custom instruction logic (note: no external interfaces are allowed in combinatorial logic)

assign result = ~(dataa&datab);

endmodule

#include "stdio.h"

#include "system.h"

#include "sys/alt_timestamp.h"

#include "alt_types.h"

int main(void)

{

alt_u32 time1,time2;

alt_u32 a,b,c;

a = 0xff00ff00;

b = 0xf0f0f0f0;

if (alt_timestamp_start() < 0){ //开启时间标记服务

printf("Can't Start Timestamp...\n");

}

time1 = alt_timestamp(); //测试时间点1

c = ALT_CI_CI_NAND(a,b); //通过宏使用定制指令

time2 = alt_timestamp(); //测试时间点2

printf("The Instruction ci_nand runs %ld\n",time2-time1);

printf("c = %x\n",c);

time1 = alt_timestamp(); //测试时间点1

c = ~(a&b); //通过NiosII指令实现与非功能

time2 = alt_timestamp(); //测试时间点2

printf("The ~(a&b) runs %ld\n",time2-time1);

printf("c = %x\n",c);

return 0;

}

在生成的system.h文件中,关于CRC自定义指令的宏如下:

#define ALT_CI_CI_NAND_N 0x00000000

#define ALT_CI_CI_NAND(A,B) __builtin_custom_inii(ALT_CI_CI_NAND

_N,(A),(B))。

“ALT_“是宏定义的前缀,表示为Altera公司,CI是用户定制指令的意思。CI_NAND是用户指令的逻辑模块名称,N表示指令操作码。

module mul16

(

clk, // CPU system clock (required for extended multi-cycle)

reset, // CPU master asynchronous active high reset (required for extended multi-cycle)

clk_en, // Clock-qualifier (required for extended multi-cycle)

dataa, // Operand A (always required)

datab, // Operand B (optional)

result, // result (always required) );

//INPUTS

input clk;

input reset;

input clk_en;

input [31:0] dataa;

input [31:0] datab;

//OUTPUTS

output [31:0] result;

reg [31:0] result;

always @(posedge clk or negedge reset)

begin

if (!reset)

result <=0;

else

result<=dataa[15:0]*datab[15:0] ;

end

endmodule

#include

#include

#include "system.h"

int alt_main()

{

int a,b;

int c;

a=7;

b=8;

c=ALT_CI_MUL16(a,b);

printf("result is %d\n",c);

return (0);

}

自定义外设作为NIOSII软核处理器超强灵活性的体现,其开发遵循一定的步骤。一般来说,一个定制元件主要由下列部分组成。

1、描述元件逻辑的硬件描述文件部分(主要是HDL程序)

2、软件文件,一个用来定义元件寄存器的C语言头文件以及让程序员控制这个元件的软件驱动程序。

3、元件的描述文件(class.ptf),该文件定义了元件的架构,提供了SOPC Builder将该元件集成到一个系统的各种信息。在文件由元件编辑器根据用户提供的硬件和软件文件以及在图形用户界面中设置的各个选项和参数自动生成。

图1给出了带Avalon从端口的元件组成框图

图1带Avalon从端口的用户外设组成框图

从图中可以看出,一个自定义外设必须进行硬件设计。一个典型的用户外设主要由下列功能模块组成:

(1)任务逻辑。任务逻辑完成元件的基本功能,是必不可少的组成部分。

(2)寄存器文件。寄存器文件部分提供了任务逻辑和外界交换信息的桥梁。有了寄存器文件,用户就可以通过Avalon接口采用基地址+地址偏移量的方法来访问元件内部的各个寄存器。

(3)Avalon接口。Avalon接口为寄存器文件提供了一个标准的Avalon前端。该模块使用Avalon规定的信号来访问寄存器文件,并且支持任务逻辑的传输类型。

module avalon_pwm

(

clk, wr_data, byte_n, cs, wr_n, addr, clr_n, rd_data, pwm_out

);

input clk;

input [31:0] wr_data;

input [3:0] byte_n;

input cs;

input wr_n;

input addr;

input clr_n;

output [31:0] rd_data;

output [7:0] pwm_out;

reg [7:0] div3, div2, div1, div0;

reg [7:0] duty3, duty2, duty1, duty0;

reg [31:0] counter;

reg off;

reg [31:0] rd_data;

wire div_en3, div_en2, div_en1, div_en0, duty_en3, duty_en2, duty_en1, duty_en0;

always @(posedge clk or negedge clr_n)

begin

if (clr_n == 0)

begin

div3 <= 8'h 00;

div2 <= 8'h 00;

div1 <= 8'h 00;

div0 <= 8'h 00;

duty3 <= 8'h 00;

duty2 <= 8'h 00;

duty1 <= 8'h 00;

duty0 <= 8'h 00;

end

else

begin

if (div_en3)

div3 <= wr_data[31:24];

else

div3 <= div3;

if (div_en2)

div2 <= wr_data[23:16];

else

div2 <= div2;

if (div_en1)

div1 <= wr_data[15:8];

else

div1 <= div1;

if (div_en0)

div0 <= wr_data[7:0];

else

div0 <= div0;

if (duty_en3)

duty3 <= wr_data[31:24];

else

duty3 <= duty3;

if (duty_en2)

duty2 <= wr_data[23:16];

else

duty2 <= duty2;

if (duty_en1)

duty1 <= wr_data[15:8];

else

duty1 <= duty1;

if (duty_en0)

duty0 <= wr_data[7:0];

else

duty0 <= duty0;

end

end

always @(posedge clk or negedge clr_n)

begin

if (clr_n == 0)

counter <= 0;

else

if (counter >= {div3, div2, div1, div0})

counter <= 0;

else

counter <= counter + 1;

end

always @(posedge clk or negedge clr_n)

begin

if (clr_n == 0)

off <= 0;

else

if (counter >= {duty3, duty2, duty1, duty0}) off <= 1;

else

if (counter == 0)

off <= 0;

else

off <= off;

end

always @(addr or div3 or div2 or div1 or div0 or duty3 or duty2 or duty1 or duty0) if (addr == 0)

rd_data = {div3, div2, div1, div0};

else

rd_data = {duty3, duty2, duty1, duty0};

assign div_en3 = cs & !wr_n & !addr & !byte_n[3];

assign div_en2 = cs & !wr_n & !addr & !byte_n[2];

assign div_en1 = cs & !wr_n & !addr & !byte_n[1];

assign div_en0 = cs & !wr_n & !addr & !byte_n[0];

assign duty_en3 = cs & !wr_n & addr & !byte_n[3];

assign duty_en2 = cs & !wr_n & addr & !byte_n[2];

assign duty_en1 = cs & !wr_n & addr & !byte_n[1];

assign duty_en0 = cs & !wr_n & addr & !byte_n[0];

assign pwm_out[0] = ! off;

assign pwm_out[1] = ! off;

assign pwm_out[2] = ! off;

assign pwm_out[3] = ! off;

assign pwm_out[4] = ! off;

assign pwm_out[5] = ! off;

assign pwm_out[6] = ! off;

assign pwm_out[7] = ! off;

endmodule

#ifndef __ALTERA_AVALON_PWM_REGS_H__

#define __ALTERA_AVALON_PWM_REGS_H__

#include

#define IORD_ALTERA_AVALON_PWM_DIVIDER(base) IORD(base, 0)

#define IOWR_ALTERA_AVALON_PWM_DIVIDER(base, data) IOWR(base, 0, data)

#define IORD_ALTERA_AVALON_PWM_DUTY(base) IORD(base, 1)

#define IOWR_ALTERA_AVALON_PWM_DUTY(base, data) IOWR(base, 1, data)

#endif /* __ALTERA_AVALON_PWM_REGS_H__ */

#include

#include "altera_avalon_pwm.h"

#include "system.h"

int main()

{

int rx_char;

char line[100];

printf("Hello from Nios II!\n");

printf("Nios II Training Lab\n");

printf("March 18, 2003\n");

printf("\nPlease enter an LED intensity between 1 to 4 (0 to exit)\n");

IOWR_ALTERA_AVALON_PWM_DIVIDER(MY_PWM_BASE,0xFF);

IOWR_ALTERA_AVALON_PWM_DUTY(MY_PWM_BASE,0xFF);

while (1)

{

fgets(line, sizeof(line),stdin);

sscanf(line,"%d",&rx_char);

switch (rx_char)

{

case 4:

IOWR_ALTERA_AVALON_PWM_DUTY(MY_PWM_BASE,0xFF);

printf("Level 4 intensity\n");

break;

case 3:

IOWR_ALTERA_AVALON_PWM_DUTY(MY_PWM_BASE,0x80);

printf("Level 3 intensity\n");

break;

case 2:

IOWR_ALTERA_AVALON_PWM_DUTY(MY_PWM_BASE,0x30);

printf("Level 2 intensity\n");

break;

case 1:

IOWR_ALTERA_AVALON_PWM_DUTY(MY_PWM_BASE,0x10);

printf("Level 1 intensity\n");

break;

case 0:

return 0;

break;

default:

printf("Please enter an integer value from 0 to 4\n");

break;

}

}

return 0;

}

闪光灯使用技巧详细说明

闪光灯使用技巧详细说明 喜欢摄影的人没有几个不知道Strobist(闪卓博识)的,在全球每天都有成千上万的人来网站流连。在这里你将会浏览到不断更新的免费教程,跟从专家学习闪光灯的使用技巧。闪卓博识越办越专业,所带来的人群也越来越高端。美国摄影业同侪——那些同样痴迷于小型闪光灯运用的大名鼎鼎的摄影大师受到大卫的感召来到闪卓博识,他们一同探讨摄影技术,成为朋友、知己,进而构成“闪卓士”的最中坚分子和技术核心,他们的名字熠熠生辉,闪耀在当代国际高端摄影舞台,他们有: 乔·麦克那利(Joe McNally) 切斯·贾维斯(Chase Jarvis)戴夫·布莱克(Dave Black) 提姆·泰德(Tim Tadder) 尤里·艾库斯(Y uri Arcurs) 大卫·泰加塔(David Tejada) 柯克·塔克(Kirk Tuck) 闪卓博识从建站伊始即打出最醒目的口号:精简装备,依靠你的布光智慧,拍下惊世骇俗的照片 大卫豪比在闪卓博识(Strobist)中设立了一系列免费的主题如:《闪光灯初级课》、《场记》、《新兵营》等,这些主题深入浅出地阐明了自己的摄影理念和用光细节,同时采用图文并茂的手法,让每次有意义的外拍场记都呈现在读者面前。 其中《闪光灯初级课》是向读者传授如何掌握光线平衡和外置闪光灯的基础摄影技巧的栏目,它解答的是:拍摄高质量照片的初学者应该从何处下手,练习拍什么题材的照片。课程涉及许多就连大师级摄影师也懵懂的一些技术内容,因此作为互联网上对摄影知识进行讲解的最全的问题数据库,《闪光灯初级课》适合所有摄影师来阅读——无论是业余爱好者还是专业摄影师。 《场记》是对基础技能知识的有效补充,并以真实的拍摄实例,以图文并茂的方式介绍那些善用闪光灯的专业摄影师获得该图片效果的详细过程。通过《场记》,摄影界的新手可以了解到一个职业摄影师面对任务的思路和解决问题的步骤,老手则可以在阅读的同时,用同样问题考问自己,找到和同业者的思路差异,从而取长补短,去提升自己的专业水平。

离机闪灯使用基本技巧

离机闪灯使用基本技巧 离机闪灯使用基本技巧:基本离机闪灯的器材 要用离机闪灯来相片,你当然要一些光源,对于一般用家来说,一支普通的外置闪灯已经可以胜任,在选择闪灯时,最好选一些灯 头可以调较的,方便改变闪光的方向;而且可以的话,选择一些可以 连接外置电池箱和用相机同步线的,外置电池箱虽然可以增加回电 速度和持久性,不过并不是必须的。 下一步便是要让外置闪光灯连接到相机了!最便宜和传统的方法 便是利用闪光灯同步线来连接,留意每部相机的闪光灯同步线的插 头可能会有所不同,购买时请按型号来选择。不过现在有些更方便 的选择,便是利用无线同步器了,市面上有很多这种的同步器,好 像PhottixODIN引闪,或是国内牌子永诺YongnuoRF-603II等,前 者比较专业,有更多选项,但也比较贵,对于新手不妨考虑后者。 最后的器材便是放外置闪灯的支架了,闪灯架不贵,在相机器材店一般也有,例如Manfrotto的5001B,或是大陆牌子的也可以, 或是直接把闪光灯放在椅子或桌面也可。 离机闪灯使用基本技巧:离机闪灯示范教学 一开始不用任何闪灯,直接拍摄: 光圈:f/2.8 快门:1/160s ISO:250 只利用自然光拍摄的效果不太差,但左边因为受光不足而比较暗: 现在是时候让闪光灯出场了!外置闪光灯一般会有数个按钮,但 第一个你要知道的便是「Mode」模式,按下Mode按钮后可以让你从「ETTL」(自动)转到「M」手动模式。当你把闪灯插在相机上的时候,

ETTL可以发挥很大的作用,但当使用离机引闪时,最好也是使用全手动模式,这样可以更有效地控制闪灯的输出和想用的效果。 选择了「M」手动模式后,你可以控制闪光灯的输出,1/1是全力输出而1/128是最小的光度(其实只是输出的持续时间而不是实际的力度,另文再谈)。以下的相片是利用了刚才一样的设定,但闪光灯输出调较至1/16,看看效果: 闪光灯输出设定为:1/16 相片看起来太光了,我们再试试把输出降至1/64,这时光线便平均很多: 闪光灯输出设定为:1/64 若果再把闪灯输出降至1/128,可以看到主体的边缘更突出,能在背景中显露出来: 闪光灯输出:1/128 以上便是离机闪灯最基本的玩法了,是不是很简单呢?下一步你可以试试多加数支闪灯,调较输出,并照亮不同的地方,这样可能会有意想不到的效果啊!快点玩玩吧!

NIOSII里的uart操作

NIOSII里的uart操作 第一步,在sopc里增加一个串口 第二步:操作UART的三种方法 (1)直接寄存器操作。 NIOS II 的串口编程有多种方式,很多地方给的程序大多数更像纯C语言写法,占用程序空间比较大,这里以一个更像单片机串口的程序,占用空间当对而言要小,且对像工业控制的数据传输更实用简单些(个人觉得)。 extern unsigned char leddata[8]; //UART发送一个字节子程序 void Uart_send(unsigned char data) { alt_u16 status; status=IORD_ALTERA_AVALON_UART_STATUS(UART_BASE);

while(!(status&0x0040))//等待发送完成 status=IORD_ALTERA_AVALON_UART_STATUS(UART_BASE); IOWR_ALTERA_AVALON_UART_TXDATA(UART_BASE,data); } //UART发送多个字节子程序 void Uart_send_n(unsigned char *ptr,unsigned char n) { for(;n>0;n--) { Uart_send(*ptr); ptr++; } } //UART接收子程序 int Uart_receive(void) { alt_u16 status; int temp; status=IORD_ALTERA_AVALON_UART_STATUS(UART_BASE); while(!(status&0x0080))//等待发送完成 status=IORD_ALTERA_AVALON_UART_STATUS(UART_BASE); temp=IORD_ALTERA_AVALON_UART_RXDATA(UART_BASE); return temp; } //串口接收中断服务程序 void Uart_ISR(void * context,alt_u32 id) { unsigned char temp; temp=IORD_ALTERA_AVALON_UART_RXDATA(UART_BASE); leddata[5]=temp; } //串口中断初始化 void Uart_init() { IOWR_ALTERA_AVALON_UART_CONTROL(UART_BASE, 0x80);//接收中断使能 IOWR_ALTERA_AVALON_UART_STATUS(UART_BASE, 0x0);//清状态标志 // IOWR_ALTERA_AVALON_UART_RXDATA(UART_BASE, 0x0);//清接收寄存器 alt_irq_register(UART_IRQ,0,Uart_ISR);//中断注册,此处编译总出现警告,还请高手能指点。warning: implicit declaration of function `alt_irq_register' test3 uart_zx.h

Proe中的常用函数关系

Proe中的部分函数关系 一、函数关系 sin 正弦Cos 余弦tan 正切asin 反正弦acos 反余弦atan 反正切sinh 双曲线余弦cosh 双曲线正弦tanh 双曲线正切spar 平方根exp e的幂方根abs 绝对值log 以10为底的对数ln 自然对数 ceil 不小于其值的最小整数floor 不超过其值的最大整数 二、齿轮公式 alpha=20 m=2 z=30 c=0.25 ha=1 db=m*z*cos(alpha) r=(db/2)/cos(t*50) theta=(180/pi)*tan(t*50)-t*50 z=0 三、蜗杆的公式da=8为蜗杆外径m=0.8 为模数angle=20压力角 L=30长度q直径系数d分度圆直径f齿根圆直径n实数

其中之间的关系 q=da/m-2 d=q*m df=(q-2.4)*m n=ceil(2*l/(pi*m)) 在可变剖面扫描的时候运用公式sd4=trajpar*360*n 在扫描切口的时候绘制此图形,其中红色的高的计算公式是sd5=pi*m/2 五、方向盘的公式sd4=sd6*(1-(sin(trajpar*360*36)+1)/8) 其中sd4是sd6的(3/4或者7/8),sin(trajpar*360*36的意思是转过360度且有36个振幅似的 六、凸轮的公式sd5=evalgraph("cam2",trajpar*360) r=150 theta=t*360 z=9*sin(10*t*360) 在方向按sin(10*t*360)的函数关系,9为高的9倍10为10个振幅似的 七、锥齿轮公式 m=4模数z =50齿轮齿数z-am=40与之啮合的齿轮齿数angle=20压力角b=30齿厚long分度圆锥角 d分度圆直径da齿顶圆直径df齿根圆直径db基圆直径关系:long=atan(z/z-am) d=m*z da=d+2*m*cos(long)

千万别乱闪 教你闪光灯正确使用方法

千万别乱闪教你闪光灯正确使用方法 大多数相机都提供了闪光灯,但是使用闪光灯并不好。当在一间光线微弱的房间里拍照或在夜晚拍照时,几英尺以外的物体会以发光体的形式出现在照片上,与背景截然不符。要想取得更好的效果,最好是在室外拍摄或在白天有自然光线的室内拍照。朵朵白云,树阴会缓和照片在直射光线下发出的刺目的色彩。有时侯,低对比度会比强对比度好。再也没有什么会比全是白或全黑的照片差了,因为这样的照片已是废品了。 闪光灯的最大用处是在全日光状态下补阴影地区的光。当你为一个背对着蓝天的人物拍照时--这种环境叫背光环境,照 机会把人和蓝天的光线平均,从而使暴光平和。但是这种暴光会使人物看起来短小,天空看起来过长,因此你可能会得到一张在明亮杯景下有一黑色轮廓的照片。解决方法就是使用闪光灯,这种技术叫填光。这样不但使人物变亮,同时也降低曝光度使天空看起来不是过于明亮。 虽然小巧,索尼T系列同样不能缺少闪光灯 许多数码相机有内置的闪光灯。通常有四档设置:闪光、不闪光、防红眼闪光和自动闪光,最后一档是由相机来确定是

否需要额外的光线。在许多情况下,闪光灯可能会破坏一幅完美的照片或者会制造出以后难以清除的错误。 对于傻瓜数码相机来说,大多数自动闪光都是在多云天气下发生的。将闪光灯关闭,然后增加曝光量,可以得到更好的效果。 闪光灯不像曝光量那么好控制,闪光灯射出的光线容易彼附近的物体反射回来,在照片上形成不均匀的耀斑。因此,当在多云的天气或是黄昏日落时拍照(或是其他不理想的照明条件时),请尽量关闭闪光灯。 闪光灯射出的红外线会影响图像,因为图像是由CCD芯片进行处理的。例如,红色区域可能记录下来时变成了发绿的。在室内拍摄时,应该提供足够的照明,以便得到不用闪光灯的照片,或是看看没有闪光灯的照片是否满意。 为了看出差别,可拍摄同一对象的两张照片,一张使用闪光灯,而另一张不用。可能不用闪光灯更好。从中可以学到不用闪光灯拍照的技巧,不过这时需要有其他光源进行补光。

计算机常用外设接口定义

计算机常用外设接口定义 一、标准15针VGA接口定义 VGA接口引脚定义: 1、按照梯形口的宽朝上,窄朝下平放。 1、母头VGA接口从右到左顺序排列,焊接时从左到右顺序排列。 2、公头VGA接口从左到右顺序排列,焊接时从右到左顺序排列。 管脚定义 1 红基色red 2 绿基色green 3 蓝基色blue 4 地址码ID Bit 5 自测试( 各家定义不同) 6 红地 7 绿地 8 蓝地 9 保留( 各家定义不同) 10 数字地 11 地址码 12 地址码 13 行同步 14 场同步 15 地址码( 各家定义不同) 二、标准25针并行接口定义 并行接口引脚定义: 1、按照梯形口的宽朝上,窄朝下平放。 3、母头并行接口从右到左顺序排列,焊接时从左到右顺序排列。 4、公头并行接口从左到右顺序排列,焊接时从右到左顺序排列。 针脚功能针脚功能 1 选通(STROBE低有效) 14 自动换行(AUTOFEED低有效) 2 数据位0 (DATAO) 15 错误(ERROR低有效) 3 数据位1 (DATA1) 16 初始化(INIT低有效) 4 数据位2 (DATA2) 17 选择输入(SLCTIN低有效) 5 数据位3 (DATA3) 18 地(GND) 6 数据位4 (DATA4) 19 地(GND) 7 数据位5 (DATA5) 20 地(GND) 8 数据位6 (DATA6) 21 地(GND) 9 数据位7 (DATA7) 22 地(GND) 10 确认(ACKNLG低有效) 23 地(GND) 11 忙(BUSY) 24 地(GND) 12 却纸(PE) 25 地(GND) 13 选择(SLCT)

nios2+c语言编程方法Nios2系列教程

最小的Nios2系统 前言 2003年Altera推出了第一代32位Nios系统,开创了FPGA内构建高性能单片机的先河。随之2004年,Nios系统升级为Nios2系统,解决了软硬件开发中一些不方便的问题,软件开发环境从命令行编译转移到Eclips的IDE集成开放环境。Nios2开发环境从1.0、1.1到1.2逐步升级。后来为了和QuartusII软件升级同步,从QuartusII5.0版本开始Nios2的版本号正式和QuartusII统一。 作者我亲身经历过整个Nios2发展历程,深知Nios2的不同版本发生的巨大变化。目前网上流行的Nios2教程针对的版本相对较老,已经对初学者学习Nios2起不到指导作用,并且应广大爱好者的强烈要求,我在此使用QuartusII和Nios2的8.0版本详细叙述Nios2的开发流程。构建一个Nios2最小系统需要什么 构建一个Nios2最小系统需要具备以下资源: ★Nios2软核处理器 ★内存 ★Jtag_uart调试接口 1. Nios2软核处理器:这就是Nios2处理器的核心CPU,所有的外设都是和这个CPU通过Avalon总线连接到一起的。

2. 内存:编译后的程序代码需要通过下载线下载到该内存中,然后CPU的程序指针跳转到内存的首地址开始执行程序。 3. Jtag_uart调试接口:想要用单步调试等调试功能控制程序执行和查看程序变量,那么就需要这个调试接口。 开始构建一个再简单不过的Nios2工程 整个步骤由2部分组成,第一部分建立Nios2硬件SOPC工程,第二部分建立Nios2软件工程。 1.建立Nios2硬件SOPC工程 建立Nios2硬件SOPC工程就是设计一个软核CPU和它的外设,编译成硬件电路放到FPGA芯片里面。这时候可以认为FPGA就是一个32位的单片机了,下面的软件开发都是针对这个单片机的。 打开QuartusII软件,新建一个工程选择EP2C8Q208C8芯片。 打开Tools->SOPC Builder菜单,进入SOPC Builder界面,新建一个名为nios32的SOPC文件,语言可以选择VHDL或者VerilogHDL。我们一共要添加3个IP模块:Nios2处理器、片上内存和Jtag_uart 调试接口。 1.1在左边的IP导航栏里面双击选择NiosII Processor,然后选择Nios II/e型的处理器。这个处理器占用FPGA逻辑资源最小。此时CPU的Reset Vector和Exception Vector都是不可选的,因为还没有设置内存。在

常用外设和软件-02

常用外设和软件-02吕欢 一、操作系统, 推荐:Windows XP 2000 NT 二、办公软件。 包括文字处理、表格处理软件,这是在工作中经常需要的功能。 推荐:Office wps 三、图像浏览。 看看自己今天用数码相机拍的照片,浏览一下从网上下载的美图,都需要它。 推荐:ACDSee 豪杰大眼睛 CompuPic 四、图像处理。 照片拍得总是不尽人意,那么我们就要对照片进行简单的处理,或者编辑一下网上下载的图片,所以,图形处理软件也是我们经常要用到的。 推荐:potoshop GraphicsMagic 金锋图像处理系统 AutoCAD 五、杀毒软件及防火墙 。有电脑的人现在基本上都要上网走一趟,如果没有杀毒软件和防火墙,没准就会中招,尤其是在访问一些恶意网站的时候。 推荐:杀毒:卡巴斯基(个人版,安全套装) AVAST 费尔托斯特江 民防火墙:天网卡巴斯基反黑客 ZoneAlarm 个人建议电脑配置比较好的:卡巴斯基网络安全套装或费尔(江民)+ZoneAlarm;配置一般的:AVAST安全套装或江民+天网或费尔+卡巴反黑客; 六、解压缩软件。 现在从网上下载下来的文件,很多都是通过压缩的,所以我们需要一个解压缩软件来打开它,当然,要给朋友传个文件啥的,也需要用压缩软件压缩或者打个包。 推荐:WinRAR WinZip WinAce 七、下载软件。

上网下载文件,没有下载软件可不行。 推荐:讯雷 FlashGet 影音传送带 NetAnts 八、影音播放。 这个几乎是每台电脑都要装的,否则玩电脑就了无生趣了。 推荐:RealOne Player Media Player 豪杰解霸 九、翻译软件。 上网,总要去一下外国网站吧,可是很多单词不认识怎么办?去翻字典吗?显然没效率。所以,装一个翻译软件是非常有必要的。 推荐:思拓智能翻译系统译经计算机翻译系统大众翻译软件 十、即时通讯软件 推荐:腾讯QQ MSN 新浪UC 外部设备 大致可分为三类 1.人机交互设备,如打印机,显示器,绘图仪,语言合成器。 2.计算机信息的存储设备,如磁盘,光盘,磁带。 打印机

闪光灯使用技巧详细说明

闪光灯使用技巧详细说明 闪光设备的种类 /B 热靴式闪光灯能够滑入位于相机顶部的热靴插座。热靴具有一个电子连接口当闪光灯接入这一连接口后快门释放时闪光就会同时爆发。手握固定式闪光灯能够比标准的热靴闪光灯产生更多的闪光。影室闪光灯组是非常强大的闪光设备它们能够触发一个或多个通过电线与电池组相连的闪光灯。自给式闪光灯灯头具有内置的电池组。闪光设备配件/B 当闪光灯同步感应器探测到由相机控制的主闪光灯发出的光波脉冲后它能够激发附属闪光灯。造型灯是一个内置于闪光灯灯头内的小型疝气灯它能够确定闪光灯的位置。/ALIGN 描述闪光灯功率基本闪光技巧/B 闪光灯最简单的使用方法就是利用相机上的闪光灯直接为拍摄场景提供光线。在使用闪光灯时要仔细确定闪光灯的照射方向避免产生奇怪的阴影或任何混乱的反射。 /B 手动闪光曝光手动控制闪光灯可以使光线具有固定的强度。在使用手动闪光灯进行重要的拍摄之前先采用一个好的闪光灯测光表测试一下或拍摄一卷试验胶片。使用闪光灯上的刻度盘闪光灯可以帮助你计算出手动闪光灯的曝光数值。/ALIGN 1. 将闪光灯设为手动。 2. 将相机的快门速度与闪光灯设定为同步。 3. 将闪光灯刻度盘上的感光度设置为所用胶片的感光度。 4. 选择被摄物与闪光灯之间的距离在刻度盘上选择它们的距离之前你可以先自己估算一下距离或先进行对焦然后再读取镜头上距离标尺的数值。 5. 设定镜头所需的光圈大小。闪光灯光线反射的手动曝光设定反射的闪光灯光线会游走段额外的距离。/ALIGN 1. 将闪光灯设为手动。 2. 将相机的快门速度与闪光灯设定为同步。 3. 将闪光灯刻度盘上的感光度设置为所用胶片的感光度。 4.估测从闪光灯到反射面以及反射面到被摄物的距离。 5.在刻度盘上找到与距离刻度对应的光圈数值。 6.把光圈调整得稍大一些来弥补被反射面吸收的部分光线。使用闪光灯测光表:闪光灯测光表是使用手动闪光灯或闪光灯反射光进行拍摄时最精确的测光工具。/ALIGN 1. 根据胶

第7章 Nios II 常用外设编程 SOPC技术与应用

第1节并行输入/输出内核 并行输入/输出(PIO)内核提供了Avalon存储器映射从端口和通用IO端口直接的接口。 I/O端口连接到片内的用户逻辑或是连到与FPGA片外设备相连的引脚上。 PIO内核提供对用户逻辑或外部设备简单的I/O访问,应用实例如下: ?控制LED ?获取开关数据 ?控制显示设备 ?配置并与片外设备通信,例如专用标准产品(ASSP)的设备。 PIO内核可以基于输入信号而发出中断请求 (IRQ) 输出。SOPC Builder 中提供了现成的 PIO内核,可以很容易地将PIO内核集成到SOPC Builder生成的系统中。 7.1.1 PIO 寄存器描述 每个PIO内核可提供多达32I/O端口,用户可以添加一个或多个PIO 内核。CPU通过读/ 写PIO接口的映射寄存器来控制PIO端口。在CPU的控制下,PIO内核在输入端口捕获数据,驱动数据到输出端口。当PIO端口直接连到了I/O管脚,通过写控制寄存器,CPU能够将管脚置成三态。图7-1是一个PIO应用的例子,本例使用了多个 PIO内核。 图7-1 使用PIO内核的系统实例

当集成到SOPC Builder生成的系统中,PIO内核有两个特性对用户是可见的。 ?具有四个寄存器的存储器映射的寄存器空间,4个寄存器是data、direction、 interruptmask和edgecapture。 ?1到32个的I/O端口。 有些寄存器在某些硬件配置下不是必需的,这时相应的寄存器就不存在了。对一个不存在的寄存器进行读操作,则返回一个未定义的值;一个不存在寄存器进行写操作则没有任何结果。表7-1给出了PIO寄存器的描述。 1. 数据寄存器(Data Input & Output) PIO内核I/O端口可以连接到片上或片外的逻辑。内核可以配置成仅有输入端口,或仅有输出端口,或两者都有。如果内核用于控制设备上的双向I/O 管脚,内核提供具有三态控制的双向模式。读数据寄存器返回输入端口上的数据,写数据寄存器则提供驱动到输出端口的数据。这些端口是独立的,读数据寄存器不会返回之前写入的数据。 2. 方向寄存器(direction) 如果端口是双向的,方向寄存器控制每个PIO端口的数据方向。当方向寄存器的第n为被置为1,端口n 驱动数据寄存器中相应位的值。方向寄存器只有当PIO内核配置为双向模式时才存在,模式(输入、输出或双向)在系统生成时指定,在运行时无法更改。在 input-only或output-only模式下,方向寄存器不存在。这种情况下,读方向寄存器返回一个未定义的值,写方向寄存器则没有结果。复位之后,方向寄存器的所有位都是0,即所有双向的I/O 端口配置为输入。如果PIO端口连接到设备的管脚,则管脚保持高阻状态。 3. 中断掩码寄存器(interruptmask) 设置中断掩码寄存器某位为1,则将相应的PIO输入端口中断使能。中断的行为依赖PIO 内核的硬件的配置。.中断掩码寄存器只有当硬件配置产生中

580EX闪光灯使用技巧说明

“佳能EOS相机闪光摄影”学习笔记与心得秋色怡人视觉摄 摄影艺术是造型艺术的一种,在摄影艺术中对摄影作品的欣赏是体会摄影艺术妙处的重要方式。下文便是对摄影作品欣赏的简单介绍: 2010年05月04日 “佳能EOS相机闪光(shanguang)摄影”学习笔记与心得 第一部分用佳能EOS相机进行闪光(shanguang)摄影 佳能580EX II闪光灯乃一神灯,功能强大又易于控制,让人细细把玩,爱不释手。鄙人学习了“佳能EOS相机闪光摄影(地址:https://www.sodocs.net/doc/4c62656.html,/articles/eos-flash/)”,也参考了色影无忌上的译文(地址:https://www.sodocs.net/doc/4c62656.html,/showarchives.php?threadid=1 39858),做了些笔记,有些小小的心得,愿和大家交流,写的不对的地方,望多多指教。 鄙人也曾在430和580之间犹豫,最后还是选择了指数更高、回电更快的580。在室内抓拍场合(比如婚礼),从一定程度上避免了反射闪光时因屋顶太高而反射光线不足的情况,也保证了在连拍情况下的迅速回电。若只是户外人像的补光,430真的就可以了。 根据“佳能EOS相机闪光摄影”的章节,本文分为三个部分。 如需转载,请保留以下信息。 作者:李岩 十个常见的EOS闪光灯问题

(1) 我的相机已经有内置的闪光灯,我还需要一个外置的吗?如果需要的话,我该选择哪一种? 『笔记』:内置闪光灯发出的光线十分生硬,而外置闪光灯允许你利用墙壁、天花板或所附的柔光散光板使光线柔化。最重要的是,你可以利用延长连线或无线技术使外置闪光灯与相机分离,因为机顶闪光灯会产生不自然的正面光线。 〖心得〗:直射的光线生硬,反射闪光的光线柔和自然,根据需要选用不同的照射方式。 (2) 我对自己的闪光摄影照片不满意,光线总显得生硬和不讨人喜欢。 『笔记』:你什么时候会看到现实世界是被发自你头部的光线所照亮的?除非你戴着采矿的头盔,否则难得一见。光线通常来自高处的光源,如太阳、天花板灯光等。 〖心得〗:所以需要使用“反射闪光”,以获得更自然的光线。 (3) 我的朋友是否中了魔法?他们的眼睛发出恐怖的红光! 『笔记』:因为闪光灯发出的光被眼睛视网膜上的红色血管直接反射回照相机。减少红眼现象的最简单办法就是用外置闪光灯代替内置的闪光灯。 〖心得〗:使闪光灯远离镜头光轴并使用“防红眼”功能,可减轻或消除红眼。在大多数相机上,“防红眼”功能以一个小眼睛形状的图标指示,拍照时,它会使闪光灯预闪几次,使人眼适应强光后,再发出有效的闪光。

高中常用函数性质及图像汇总

高中常用函数性质及图像 一次函数 (一)函数 1、确定函数定义域的方法: (1)关系式为整式时,函数定义域为全体实数; (2)关系式含有分式时,分式的分母不等于零; (3)关系式含有二次根式时,被开放方数大于等于零; (4)关系式中含有指数为零的式子时,底数不等于零; (5)实际问题中,函数定义域还要和实际情况相符合,使之有意义。 (二)一次函数 1、一次函数的定义 一般地,形如y kx b =+(k ,b 是常数,且0k ≠)的函数,叫做一次函数,其中x 是自变量。当0b =时,一次函数y kx =,又叫做正比例函数。 ⑴一次函数的解析式的形式是y kx b =+,要判断一个函数是否是一次函数,就是判断是否能化成以上形式. ⑵当0b =,0k ≠时,y kx =仍是一次函数. ⑶当0b =,0k =时,它不是一次函数. ⑷正比例函数是一次函数的特例,一次函数包括正比例函数. 2、正比例函数及性质 一般地,形如y=kx(k 是常数,k≠0)的函数叫做正比例函数,其中k 叫做比例系数. 注:正比例函数一般形式 y=kx (k 不为零) ① k 不为零 ② x 指数为1 ③ b 取零 当k>0时,直线y=kx 经过三、一象限,从左向右上升,即随x 的增大y 也增大;当k<0时,?直线y=kx 经过二、四象限,从左向右下降,即随x 增大y 反而减小. (1) 解析式:y=kx (k 是常数,k ≠0) (2) 必过点:(0,0)、(1,k ) (3) 走向:k>0时,图像经过一、三象限;k<0时,?图像经过二、四象限 (4) 增减性:k>0,y 随x 的增大而增大;k<0,y 随x 增大而减小 (5) 倾斜度:|k|越大,越接近y 轴;|k|越小,越接近x 轴 3、一次函数及性质 一般地,形如y=kx +b(k,b 是常数,k≠0),那么y 叫做x 的一次函数.当b=0时,y=kx +b 即y=kx ,所以说正比例函数是一种特殊的一次函数. 注:一次函数一般形式 y=kx+b (k 不为零) ① k 不为零 ②x 指数为1 ③ b 取任意实数 一次函数y=kx+b 的图象是经过(0,b )和(- k b ,0)两点的一条直线,我们称它为直线y=kx+b,它可以看作由直线y=kx 平移|b|个单位长度得到.(当b>0时,向上平移;当b<0时,向下平移)

闪光灯人像入门教程详解

闪光灯人像入门教程详解 下面是为大家精心推荐闪光灯设置与使用方法,希望能够对您有所帮助。 闪光灯设置与使用1、连接闪光灯与相机各品牌的机顶闪光灯外观大同小异。 之所以叫「机顶」,是因为它可以通过底部的「热靴」接口,直接安装在相机顶部的热靴插槽上使用。 虽然机顶闪光可以直接安装在相机上,但在拍人像时很少会这样用。 首先,闪光灯的朝向角度受到了限制,发挥余地变小;其次,如果是较硬的光线直射人物面部,反光后的效果会让面部看上去油油的。 还好,聪明的人类发明了「闪光灯无线引闪器」。 无线引闪器通常是成对出现,分别安装在相机顶部热靴,和闪光灯热靴接口处,这样就把闪光灯的摆放位置解放了。 2、为什么要使用手动模式当决定使用闪光灯作为人造光源的同时,也就决定了摄影师对于器材的绝对控制权。 当今的相机虽然已经非常自动化,但在面对复杂的拍摄环境时,难免会弄巧成拙。 这时候就需要用手动参数设置才能解决问题。 我们从最简单的闪光灯使用情景开始,将闪光灯作为唯一的光源。 同时,将闪光灯与相机的各个参数先固定下来。

3、闪光灯初始参数设置我们的器材操作逻辑是:固定大部分参数,调整最需要调整的参数,避免手忙脚乱。 固定参数部分:模式设置为「手动模式」;关闭「TTL功能」;「闪光灯焦距」固定为最广焦段,如24mm。 4、拍摄时需要调整的参数:亮度,预先设置为1/2 亮度。 并非所有闪光灯与相机都支持该功能,事实上,如果实现了精确的布光,是不需要相机为闪光灯自动测光的。 2. 「闪光灯焦距」的改变,最直接的影响是其闪光范围的宽窄变化。 闪光灯焦距越广(数值越小),闪光范围也会越广阔,反之,闪光灯焦距越长(数值越大),闪光范围则越集中。 在本文中,由于是在空间有限的室内拍摄人像,我们这里可以调整到闪光范围最大,即闪光灯焦距最广,并保持不变。 相机初始参数设置固定参数部分:相机操作模式设置为「手动档」,即M 档;「快门速度」固定为1/200 s;「感光度ISO」固定为200;「图片格式」设置为RAW 格式。 拍摄时需要调整的参数:「光圈」,预先设置为f/11,调整范围一般会在f/8至f/16之间。 相机参数 1. 关于「手动档」:如果是相机「自动档」的话,相机将会在闪光灯未启动时,自动调整参数去适应没有闪光灯的环境。 我们假定是在夜间室内拍照,所以此时应该是较暗的自动测光环

影室闪光灯布光方法

一、产品拍摄实战: 无论是拍摄纯粹静物记录或是包含人物、道具,对于摄影师而言就像日常生活般的平常。这样并不会使得这项工作变得无创造力或吸引力,相反的,静物产品摄影是需要高度组织能力。一般的摄影师必须面对无数不可预知的外在环境因素,如灯光、布置、清晰范围、拍摄时刻等。静物产品摄影则可完全排除这些影响,在这个特殊的领域,你可以完全控制状况。 拍摄静物产品是一种造型行为,布光是让塑造的形象更具有表现力的关键。静物产品品种千变万化,在拍摄中通过布光,不仅要表现出它们的软硬感、粗细感、轻重感、薄厚感甚至冷热感,还要通过影像的视觉传达,使消费者直观地看到商品的不同形态,联想到人在享受商品时的感受。在拍摄构思中要有“光”的造型意识,调动“光”的造型手段,才能达到强烈的视觉效果。 由于物体结构质地和表面肌理各不相同,所以吸收光和反射光的能力也不同。因此,根据不同质感对光线不同的反映,我们把物体大致可以分为:吸光体、反光体、透明体。这只是比较概括地分门别类,有些产品的质地介于吸光体、反光体、透明体其中两者之间,或是兼有吸光体、反光体、透明体三者组合而成的复合型产品。但是只有对简单而基本质地的物体的布光表现加以探究,才能塑造好复杂的物体。 专业的产品摄影的照明也会应用到许多小反光镜、白色或灰色的补光板和黑屏。大部分的时候,当摄影师需要时才将较大的黑色、白色或灰色卡纸裁成需要的尺寸。小片反光镜对于局部补光很有效,而小片凹镜可以产生反光点。采购各种直径和焦距的凹镜会有所帮助,他们比刮胡子用的镜子更好用。 有时还需要用到各种颜色的镜面塑料片和银箔、金箔卡,最好时能用剪刀裁切的款式。在拍摄饮品时,就会需要这些镜面塑料片和金属亮面,或半雾面卡片。将各种颜色的镜面塑料片或卡纸裁成所需的形状,用铅丝或贴纸裱在玻璃杯或瓶子后面。调整它的反光,以获得玻璃杯与饮品合适的透明照色。 客户有时候需要全白的背景来表现产品,这时拍摄台是很有用

基于Nios II 的自定制PWM模块设计与实现

收稿日期:2009-03-05 基金项目:河南省教育厅科技攻关项目(2007480001) 作者简介:石新峰(1973-),男,河南巩义人,讲师,硕士,主要从事基于FPGA 的嵌入式系统开发研究. 基于Nios II 的自定制PWM 模块设计与实现 石新峰,牟光臣 (河南机电高等专科学校电子通信工程系,河南新乡453002) 摘要:详细论述了基于NiosII 软核处理器的PWM 外设模块的整个设计过程,最后构建SOPC 系统,并在开发 装置上进行了功能验证。文中所述的方法对于开发其它的用户自定义外设具有一定借鉴意义,按照Avalon 总线规范将各种自定义外设的驱动程序集成到SOPC Builder 的硬件抽象层中,进行设计复用,可以大大提高设计效率和提升数字系统的性能。 关键词:NiosII ;PWM ;Avalon 总线;SOPC Builder 中图分类号:TP332 文献标识码:A 文章编号:1673-6060(2009)03-0060-03 NiosII customized based on the PWM module of the design and implementation Shi Xinfeng ,M ou Guangchen (Henan Electrical and Electronics Communication Engineering College,Xinxiang 453002,China )Abstract:The designing process of PWM ’peripheral module had been detailed based on NiosII,build the SOPC system and undertakes a functional verification on it.The design gives some referential help for developing other user -defined peripherals and it could improve the design efficiency and promote the performance function of the digital system by the means of integrating various user-defined peripheral driver in the rule of Avalon bus into the hardware abstract layer of SOPC Builder for design multiplxing. Key words:Nios II ;PWM ;Avalon bus ;SOPC Builder 近年来,随着大规模FPGA 芯片的出现及相关开发平台的完善,为实现各种全数字化的PWM 系统提供了充分的技术基础.在开发各种信息家电或者其他工业控制系统时,将Nios II 软核处理器和PWM 等外设集成到系统主控FPGA 芯中,可以使得系统体积更小,成本更低,可靠性更高,更适合嵌入式系统的要求,而且具有现场可编程性,能够进行升级换代,具有广阔应用前景. 1Nios II 嵌入式系统外设的基本结构 Nios Ⅱ嵌入式处理器的外设除了SOPC Builder 编辑器中提供的常用模块外,还可以由设计者根据 自己的需要,按照Nios Ⅱ硬件抽象层(HAL )的元件定义规范编写自己的设备文件,并予以封装,从而在以后的开发中像其它常用外设一样进行复用. 自定义设备的文件系统如图1所示,通常由如下几部分组成,①硬件文件(.v 或.vhd ):用HDL 语言编写的自定义设备文件;②软件文件(.h ):用C 语言编写的设备寄存器定义文件以及设备的驱动程序文件;③设备描述文件(.Ptf ):本文件描述设备的结构,以及将其集成到系统中时所需要的信息.由SOPC Builder 根据其硬件及软件文件自动生成. 硬件抽象层(HAL )为用户程序控制一般类型的外围硬件设备提供了标准的C 语言函数库,接口函 第37卷第3期373 Vol.No.河南科技学院学报 Journal of Henan Institute of Science and Technology 2009年9月2009 Sep.60

Excel常用函数详解

计算机二级考试MS_Office应用Excel函数 =公式名称(参数1,参数2,。。。。。) =sum(计算范围) =average(计算范围) =sumifs(求和范围,条件范围1,符合条件1,条件范围2,符合条件2,。。。。。。) =vlookup(翻译对象,到哪里翻译,显示哪一种,精确匹配) =rank(对谁排名,在哪个范围里排名) =max(范围) =min(范围) =index(列范围,数字) =match(查询对象,范围,0) =mid(要截取的对象,从第几个开始,截取几个) =int(数字) =weekda y(日期,2) =if(谁符合什么条件,符合条件显示的内容,不符合条件显示的内容) =if(谁符合什么条件,符合条件显示的内容,if(谁符合什么条件,符合条件显示的内容,不符合条件显示的内容)) SUM函数 简单求和。 函数用法 SUM(number1,[number2],…) =SUM(A1:A5)是将单元格 A1 至 A5 中的所有数值相加; =SUM(A1,A3,A5)是将单元格 A1,A3,A5 中的数字相加。 SUMIFS函数 根据多个指定条件对若干单元格求和。 函数用法 SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], ...) 1) sum_range 是需要求和的实际单元格。包括数字或包含数字的名称、区域或单元格引用。忽略空白值和文本值。 2) criteria_range1为计算关联条件的第一个区域。 3) criteria1为条件1,条件的形式为数字、表达式、单元格引用或者文本,可用来定义将对criteria_range1参数中的哪些单元格求和。例如,条件可以表示为32、“>32”、B4、"苹果"、或"32"。 4)criteria_range2为用于条件2判断的单元格区域。 5) criteria2为条件2,条件的形式为数字、表达式、单元格引用或者文本,可用来定义将对criteria_range2参数中的哪些单元格求和。 4)和5)最多允许127个区域/条件对,即参数总数不超255个。 VLOOKUP函数 是Excel中的一个纵向查找函数,按列查找,最终返回该列所需查询列序所对应的值。

佳能闪光灯混合配图使用技巧加强版说明书

佳能闪光灯混合配图使用技巧加强版说明书 前言 拥有一个闪光灯,你将开辟一个全新的摄影世界。 很多佳能器材新手烧完机身、镜头之后都在思量:要不要上一个闪光灯呢?作为完全没有使用过的外闪的你,对各佳能旗下的闪光灯的各项参数、功能感到一头雾水。买了以后什么后帘同步啊、频闪啊的一大堆概念弄不明白,加上现在的佳能闪光灯说明书简单得令人发指。书看着挺厚的,可是除以三就剩下那么几页。这和尼康说明书事无巨细不厌其烦的进行各种情况说明真是差远了。有感于此,我根据所接触过的佳能品牌EX系列闪光灯和阅读过的说明书,回答一些完全没有闪灯使用经验的朋友常遇到的问题。 其实下面文章中有些问题和摄影效果毫无关系,但是我十分乐于研究这些边边角角,这才是一个器材党应有的精神嘛! 声明及注意事项: 1、由于本人不是专业人士,所以在术语的解释有些地方难免会有误差,请各位自行辨别是否正确,本文说法只做参考。 2、本文想通过通俗易懂的说明及实例图来说明闪光灯的最基本功能及常见疑问,不涉及闪光灯的原理讨论。想完全了解闪光专业术语及效果产生物理过程,请买正规的书籍了解。 本人用闪光灯拍的都是到此一游的照片,所以本文不会(也不懂)讨论如何拍出精美照片。 3、本人没有测光表,里面一些闪光指数的计算公式计算出的结果与手持测光表实际测量值相比可能并不完全一致。 4、以下内容主要针对佳能420EX、430EX、430EXII、550EX、580EX、580EXII及永诺ST-E2引闪器。其他的EZ和EX灯并不在本文讨论范围之内。若你使用佳能其他的闪光灯,下文所述和你得出的结果可能并不一致 5、下文所得出的结论都是基于测试器材:40D+18-55IS+24-105L,相机拍摄模式使用AV、TV和M档,并不涉及P档和全自动档。若你使用佳能其他的机身镜头或其他拍摄模式,那么下文所述和你得出的结果可能并不一致。 6、由于用老灯的新手毕竟较少,本文着重论述430EXII和580EXII,举例子尽量以430EXII和580EXII为主。 7、本文一些推荐及使用感受为一家之言,各位同志看本文后买闪光灯受骗的,不要找我。(摄友:linzhijin2003) 文章导读: 第一部分佳能原厂闪光灯购买问题 第二部分佳能闪光灯实物说明及基本术语解释 第三部分 4、5系闪光灯普通闪光若干问题及配图解释 第四部分 4、5系闪光灯无线闪光若干问题及配图解释 第五部分一些便宜的闪灯小附件 第一部分佳能原厂闪光灯购买问题 一、没有必要买闪光灯?闪光灯在哪些场合有用? 答:前半个问题,我的回答是:580EXII,摄影路上必须有一只!

Creo常用函数

Creo(PROE)中关系式的理解 一)关系式中可以用下列数学函数式表达: 1)、正弦 sin( ) 2)、余弦 cos( ) 3)、正切 tan( ) 4)、反正弦 asin( ) 5)、反余弦 acos( ) 6)、反正切 atan( ) 7)、双曲线正弦 sinh( ) 8)、双曲线余弦 cosh( ) 9)、双曲线正切 tanh( ) 以上九种三角函数式所使用的单位均为“度”。 10)、平方根 sqrt( ) 11)、以10为底的对数 log( ) 12)、自然对数 ln( ) 13)、e的幂 exp( ) 14)、绝对值 abs( ) 15)、不小于其值的最小整数(上限值) ceil( ) 16)、不超过其值的最大整数(下限值) floor( ) 可以给函数ceil和floor加一个可选的自变量,用它指定要圆整的小数位数。 带有圆整参数的这些函数的语法是: ceil(parameter_name或number, number_of_dec_places) floor (parameter_name 或 number, number_of_dec_places) 其中的parameter_name或number意为参数名称或者一个带小数位的精确数值 后面跟随着的number_of_dec_places意为十进位的小数位数,是可选值: A)可以被表示为一个数或一个使用者自定义参数。如果该参数值是一个实数,则被截尾成为一个整数。 B)它的最大值是8。如果超过8,则不会舍入要舍入的数(第一个自变量),并使用其初值。C)如果不指定它,则功能同前期版本一样。 使用不指定小数部分位数的ceil和floor函数,其举例如下: ceil (10.2) 值为11 floor (10.2) 值为 10

相关主题