第一篇:NAND FLASH 編程總結(jié)
NAND FLASH操作總結(jié)
目前NAND FLASH主要是SAMSUNG、TOSHIBA兩家公司生產(chǎn)。本文我們主要討論這兩家的產(chǎn)品型號(hào)。另外我們還會(huì)討論Hitachi的AND Flash,為了內(nèi)容條理起見,我們將分別討論SAMSUNG、TOSHIBA的Binary Flash,詳細(xì)說明:
1、各個(gè)廠家各個(gè)型號(hào)Flash的操作時(shí)序、以及這些操作在“USB-閃存盤控制器”中的影響;
2、同一廠家不同型號(hào)間的區(qū)別、不同廠家之間的區(qū)別;
然后討論TOSHIBA的MLC Flash;
最后我們要考慮一下AND Flash的情況,并給出一個(gè)初步的結(jié)論:我們是否需要支持AND Flash。
通過這些比較,給出一個(gè)較明確的結(jié)論:我們的“USB-閃存盤控制器”需要支持的Flash操作有那些,時(shí)序圖如何!
SAMSUNG:
SAMSUNG推出的NAND Flash主要有以下容量:
32Mbit、64Mbit、128Mbit、256Mbit、512Mbit、1Gbit、2Gbit、4Gbit通常,我們把其中的1Gbit、2Gbit、4Gbit叫做“大容量”,其余的則不加強(qiáng)調(diào)。
32Mbit、64Mbit、128Mbit、256Mbit、512Mbit的Flash 的特性基本相似: ??Organization
-Data Register :(512 + 16)Byte ??Automatic Program and EraseBlock Erase :(8K + 256)Byte/(16K + 512)Byte ??528-Byte Page Read OperationSerial Page Access : 50ns(Min.)??Fast Write Cycle TimeBlock Erase time : 2ms(typ.)??Flash操作包括基本的七種操作:
Read1、Read2、Read ID、Reset、Page Program、Block Erase、Read Status 512Mbit的Flash引入了“Plane”和“Copy-Back”的概念,并為此增加了四種新的操作,但卻放棄了128Mbit、256Mbit中“Sequential Data Input”操作,這四種操作是:針對(duì)“Plane”的Page Program(Dummy)、Multi_Plane Block Erase、Read Multi_Plane Status、針對(duì)“Copy-Back”的Copy_Back Program 1Gbit、2Gbit、4Gbit(大容量)的操作基本相同,但他們比一般Flash多了Copy-Back、Cache Program的功能:
??Organization
-Data Register :(2K + 64)BytePage Program :(2K + 64)ByteRandom Access : 25?s(Max.)Program time : 300~400?s(typ.)Page Program :(512 + 16)ByteRandom Access : 25?s(Max.)Program time : 200?s(typ.)-Block Erase time : 2ms(typ.)??Flash操作包括基本的八種操作:
Read1、Read2、Read3、Read ID、Reset、Page Program、Block Erase、Read Status 這里的Read1、Read2、Read3命令與SAMSUNG的Read1、Read2命令功能是相同的。但她的隨機(jī)讀周期要稍微長一些:25?s(Max.),其他時(shí)間則基本相同。下面我們就每一個(gè)操作做詳細(xì)的介紹!
時(shí)序示意圖:
第15頁
共29頁
Latch Timing Diagram for Command/Address/Data(example.64Mbit)
Command Input Cycle Timing Diagram(example.64Mbit)
Address Input Cycle Timing Diagram(example.64Mbit)
第16頁
共29頁
Data Input Cycle Timing Diagram(example.64Mbit)
Serial Read Cycle Timing Diagram(example.64Mbit)
第17頁
共29頁
Status Read Cycle Timing Diagram(example.64Mbit)
上面我們給出了各個(gè)操作的時(shí)序示意圖,下面就各個(gè)參數(shù)進(jìn)行說明!
第18頁
共29頁
AC CHARACTERISTICS AND RECOMMENDED OPERATING CONDITIONS
(Ta _ 0° to 70°C, VCC _ 2.7 V to 3.6 V)
下面就各個(gè)操作的具體時(shí)序進(jìn)行討論:
第19頁
共29頁
Read Cycle(1)Timing Diagram
Read Cycle(1)Timing Diagram: When Interrupted by CE
第20頁
共29頁
Read Cycle(2)Timing Diagram
Read Cycle(3)Timing Diagram
第21頁
共29頁
Sequential Read(1)Timing Diagram
Sequential Read(2)Timing Diagram
第22頁
共29頁
Sequential Read(3)Timing Diagram
Auto-Program Operation Timing Diagram
第23頁
共29頁
Auto Block Erase Timing Diagram
ID Read Operation Timing Diagram 同樣,TOSHIBA的512Mbit Flash也是“大容量”的一種過渡類型。她也有她自身的一些特殊操作:“Multi Block Programming”、“ Multi Block Erase”。這些類似于SAMSUNG的“Multi Plane”的操作。其操作時(shí)序如下:
第24頁
共29頁
Multi Block Programming Timing(to be continued)
第25頁
共29頁
(continuation 1)Multi Block Programming Timing
第26頁
共29頁
(continuation 2)Multi Block Programming Timing
第27頁
共29頁
(continuation 3)Multi Block Programming Timing
第28頁
共29頁
Multi Block Erase Timing Diagram
由上面的介紹,我們可以看出所有NAND Flash的特性基本相似:操作時(shí)序、操作特點(diǎn)還有相關(guān)的性能參數(shù)都相似。
下面我們要介紹的兩個(gè)類型的Flash都是MLC(Multi Level Cell)結(jié)構(gòu)的Flash。不過一種是NAND型,另一種是AND型。我們先來看TOSHIBA的MLC NAND Flash。
第29頁
共29頁
第二篇:刀具和編程總結(jié)
① 白鋼刀(即高速鋼刀具)因其通體銀白色而得名,主要用于直壁加工。白鋼刀價(jià)格便宜,但切削壽命短、吃刀量小、進(jìn)給速度低、加工效率低,在數(shù)控加工中較少使用。
② 飛刀(即鑲嵌式刀具)主要為機(jī)夾式可轉(zhuǎn)位刀具,這種刀具剛性好、切削速度高,在數(shù)控加工中應(yīng)用非常廣泛,用于模胚的開粗、平面和曲面粗精加工效果均很好。
③ 合金刀(通常指的是整體式硬質(zhì)合金刀具)精度高、切削速度高,但價(jià)格昂貴,一般用于精加工。
數(shù)控刀具與普通機(jī)床上所用的刀具相比,有以下不同的要求。
(1)剛性好(尤其是粗加工刀具)、精度高、抗振及熱變形小。
(2)互換性好,便于快速換刀。
(3)壽命高,切削性能穩(wěn)定、可靠。
(4)刀具的尺寸便于調(diào)整,以減少換刀調(diào)整時(shí)間。
(5)刀具應(yīng)能可靠地?cái)嘈蓟蚓硇?,以利于切屑的排除。?)系列化、標(biāo)準(zhǔn)化,以利于編程和刀具管理。
① 刀具直徑越大,轉(zhuǎn)速越慢;同一類型的刀具,刀桿越長,吃刀量就要減小,否則容易彈刀而產(chǎn)生過切。
② 白鋼刀轉(zhuǎn)速不可過快,進(jìn)給速度不可過大。
③ 白鋼刀容易磨損,開粗時(shí)少用白鋼刀。
① 以上的飛刀參數(shù)只能作為參考,因?yàn)椴煌娘w刀材料其參數(shù)值也不相同,不同的刀具廠生產(chǎn)的飛刀其長度也略有不同。另外,刀具的參數(shù)值也因數(shù)控銑床或加工中心的性能和加工材料的不同而不同,所以刀具的參數(shù)一定要根據(jù)工廠的實(shí)際情況來設(shè)定。
② 飛刀的剛性好,吃刀量大,最適合模胚的開粗。另外,飛刀精加工陡峭面的質(zhì)量也非常好。③ 飛刀主要是鑲刀粒的,沒有側(cè)刃,① 合金刀剛性好,不易產(chǎn)生彈刀,用于精加工模具的效果最好。
② 合金刀和白鋼刀一樣有側(cè)刃,精銑銅公直壁時(shí)往往使用其側(cè)刃。
① 刀具的名稱一般根據(jù)刀具的直徑和圓角半徑來定義,例如,直徑為30,圓角半徑為5的飛刀,其名稱定義為D30R5;直徑為12的平底刀,其名稱定義為D12;半徑為5的球刀,其名稱定義為R5。
② 輸入刀具名稱時(shí),只需要輸入小寫字母即可,系統(tǒng)會(huì)自動(dòng)將字母轉(zhuǎn)為大寫狀態(tài)。③ 設(shè)置刀具參數(shù)時(shí),只需要設(shè)置刀具的直徑和底圓角半徑即可,其他參數(shù)按默認(rèn)即可。加工時(shí),編程人員還需要編寫加工工藝說明卡,注明刀具的類型和實(shí)際長度。
機(jī)床坐標(biāo)一般在工件頂面的中心位置,所以創(chuàng)建機(jī)床坐標(biāo)時(shí),最好先設(shè)置好當(dāng)前坐標(biāo),然后在〖CSYS〗對(duì)話框中設(shè)置“參考”為WCS。
加工模具時(shí),其開粗余量多設(shè)為0.5,但如果是加工銅公余量就不一樣了,因?yàn)殂~公(銅公是火花機(jī)放電加工用的電極)最后的結(jié)果是要留負(fù)余量的。
模具加工要求越高時(shí),其對(duì)應(yīng)的公差值就應(yīng)該越小。
進(jìn)行實(shí)體模擬驗(yàn)證前,必須設(shè)置加工工件和毛坯,否則無法進(jìn)行實(shí)體模擬。
第三篇:編程題總結(jié)
C作業(yè)匯總
1.short a,b=32767;/*short類型在內(nèi)存中占2B*/ a=b+1;問:a的值是多少?并分析原因。
2.有一4位數(shù)整數(shù),假設(shè)用abcd表示,請(qǐng)把這個(gè)4位數(shù)的每個(gè)數(shù)位用表達(dá)式表示出來。3.從鍵盤輸入圓的半徑r,計(jì)算并輸出圓的面積s(要求:半徑r定義為float型;圓周率?定義為符號(hào)常量;面積s保留2位小數(shù))#define PI 3.14159 #include
4.輸入m>=3的正整數(shù),判斷m是否素?cái)?shù)。畫出算法流程圖及NS圖
5.有一函數(shù):
x?1 ?x ?y??2x?1 1?x?10
?3x-11 x?10 ?寫一段程序,輸入x,輸出y值。
要求x,y聲明為float類型,y保留2位小數(shù)。#include
if(x<1)
y=x;else
if(x<10)
y=2*x-1;
else
y=3*x-11;
}
printf(“y=%.2fn”,y);
x3x5x7x9?????,6.課后習(xí)題4.17(P159)利用泰勒級(jí)數(shù)sinx?x?計(jì)算sinx的3!5!7!9!值。要求最后一項(xiàng)的絕對(duì)值小于10,并統(tǒng)計(jì)出此時(shí)累加了多少項(xiàng)。#include
/*記錄每個(gè)項(xiàng)數(shù)*/ int n=1,count=0;/*count記錄累加了多少項(xiàng)*/
printf(“請(qǐng)輸入x值(弧度):n”);scanf(“%f”,&x);
term=x/n;while(fabs(term)>1e-5)
/* while循環(huán)*/ {
sinx+=term;
count++;
n+=2;
term=-term*x*x/((n-1)*n);}
/* do
/*do while循環(huán)*/ {
sinx+=term;
count++;
n+=2;
term=-term*x*x/((n-1)*n);}while(fabs(term)>1e-5);
*/
printf(“sin(%.2f)=%.4fn”,x,sinx);printf(“一共累加了:%d項(xiàng)。n”,count);}
7.用牛頓迭代法求下面方程在1.5附近的根:
2x?4x?3x?6?0 32?5
牛頓迭代公式:
x1?x0?f(x0)f?(x0)
#include
/*y1記錄f(x0),y2記錄f(x0)的導(dǎo)數(shù)*/
do {
x0=x1;
y1=2*x0*x0*x0-4*x0*x0+3*x0-6;
y2=6*x0*x0-8*x0+3;
x1=x0-y1/y2;}while(fabs(x1-x0)>1e-5);
printf(“the root is:%.2fn”,x1);}
8.寫一函數(shù),輸入一個(gè)16進(jìn)制整數(shù),輸出相應(yīng)的10進(jìn)制數(shù)。例:從鍵盤輸入2a,輸出結(jié)果是42。
要求:若輸入數(shù)據(jù)不合法,則輸出提示信息。如輸入了35g,輸出“您輸入的16進(jìn)制數(shù)不合法!”。
#include
printf(“請(qǐng)輸入一個(gè)16進(jìn)制數(shù)字:n”);
while((c=getchar())!='n'){
if(c>='0' && c<='9')
sum=sum*16+c-'0';
else
if(c>='a' && c<='f')
sum=sum*16+c-87;
else
if(c>='A' && c<='F')
sum=sum*16+c-55;
else
{
printf(“您輸入的16進(jìn)制不合法.n”);
exit(0);
} }
printf(“相應(yīng)的10進(jìn)制數(shù)是:%dn”,sum);} 方法2:用字符串處理的方式 #include
printf(“請(qǐng)輸入一個(gè)16進(jìn)制數(shù)字:n”);gets(str);
for(i=0;str[i];i++){
if(str[i]>='0' && str[i]<='9')
sum=sum*16+str[i]-'0';
else
if(str[i]>='a' && str[i]<='f')
sum=sum*16+str[i]-87;
else
if(str[i]>='A' && str[i]<='F')
sum=sum*16+str[i]-55;
else
{
printf(“您輸入的16進(jìn)制不合法.n”);
exit(0);
} }
printf(“相應(yīng)的10進(jìn)制數(shù)是:%dn”,sum);} 方法3:用字符數(shù)組及指針處理的方式 #include
{ char str[20],*p=str;int sum=0;
printf(“請(qǐng)輸入一個(gè)16進(jìn)制數(shù)字:n”);gets(p);
while(*p){
if(*p>='0' && *p<='9')
sum=sum*16+*p-'0';
else
if(*p>='a' && *p<='f')
sum=sum*16+*p-87;
else
if(*p>='A' && *p<='F')
sum=sum*16+*p-55;
else
{
printf(“您輸入的16進(jìn)制不合法.n”);
exit(0);
}
p++;}
printf(“相應(yīng)的10進(jìn)制數(shù)是:%dn”,sum);} 9.編寫一個(gè)小函數(shù),其功能是計(jì)算兩個(gè)整數(shù)的平均值,該函數(shù)要在主函數(shù)中調(diào)用。
#include
avg=average(x,y);
printf(“%d,%d的平均值是:%.2fn”,x,y,avg);}
float average(int x,int y)
{ return(x+y)/2.0;}
10.有N(N用宏定義為符號(hào)常量)個(gè)元素的一維整型數(shù)組,該數(shù)組中各元素值從鍵盤隨機(jī)輸入。然后,將這個(gè)整型數(shù)組中的值逆序存放。例如,原來5個(gè)元素的順序?yàn)?、1、4、6、5,逆序之后各元素的值是5、6、4、1、8 #define N 5 #include
printf(“輸入%d個(gè)整數(shù),用空格或回車分隔:n”,N);for(i=0;i scanf(“%d”,&a[i]); printf(“數(shù)組原來的值是:n”);for(i=0;i printf(“%dt”,a[i]); for(i=0;i t=a[i]; a[i]=a[N-1-i]; a[N-1-i]=t;} printf(“n逆序之后數(shù)組的值是:n”);for(i=0;i printf(“%dt”,a[i]); printf(“n”);} 11.有N(N用宏定義為符號(hào)常量)個(gè)元素的一維整型數(shù)組,該數(shù)組中各元素值從鍵盤隨機(jī)輸入。然后,對(duì)該數(shù)組元素進(jìn)行由小到大排序(要求,該功能用函數(shù)實(shí)現(xiàn)),輸出數(shù)組中各元素值。最后,從鍵盤隨機(jī)輸入一個(gè)整數(shù),并把該整數(shù)插入上述數(shù)組中(該功能用函數(shù)實(shí)現(xiàn)),使得插入該整數(shù)后的數(shù)組仍然有序,輸出數(shù)組中各元素的值。#define N 5 #include int i,x;void sort(int array[],int n);void insert(int array[],int n,int x); printf(“輸入%d個(gè)整數(shù),用空格或回車分隔:n”,N);for(i=0;i scanf(“%d”,&a[i]); sort(a,N); /*調(diào)用sort對(duì)數(shù)組進(jìn)行排序*/ printf(“n升序排序之后數(shù)組的值是:n”);for(i=0;i printf(“%d ”,a[i]); printf(“n輸入一個(gè)x值插入到數(shù)組中:n”);scanf(“%d”,&x); insert(a,N,x); printf(“n插入%d之后數(shù)組的值是:n”,x);for(i=0;i printf(“%d ”,a[i]); printf(“n”);} void sort(int array[],int n)/*用選擇法對(duì)數(shù)組array升序排序*/ { int i,j,t,min; for(i=0;i min=i; for(j=i+1;j if(array[j] min=j; if(min!=i) { t=array[i]; array[i]=array[min]; array[min]=t; } } } void insert(int array[],int n,int x){ int i,pos; for(i=0;i pos=i; for(i=n-1;i>=pos;i--) array[i+1]=array[i]; array[pos]=x;} 12.有一整型數(shù)組,N(N用宏定義為符號(hào)常量)個(gè)元素,該數(shù)組中各元素值從鍵盤隨機(jī)輸入。從鍵盤隨機(jī)輸入一個(gè)整數(shù)x,刪除該數(shù)組中值與x相同的所有元素(該功能用函數(shù)實(shí)現(xiàn)),輸出數(shù)組中各元素的值。#define N 5 #include printf(“輸入%d個(gè)整數(shù),用空格或回車分隔:n”,N);for(i=0;i scanf(“%d”,&a[i]); printf(“數(shù)組原來的值是:n”);for(i=0;i printf(“%dt”,a[i]); printf(“n請(qǐng)輸入要?jiǎng)h除的值x:n”);scanf(“%d”,&x); n=delet(a,N,x); /*n值是刪除與x相同的元素后,數(shù)組剩余元素的個(gè)數(shù)。*/ printf(“刪除%d之后數(shù)組的值是:n”,x);for(i=0;i printf(“%d ”,a[i]); printf(“n”); } int delet(int a[],int n,int x){ int i,j; for(i=0,j=0;i if(a[i]!=x) a[j++]=a[i]; return j;} 13.從鍵盤隨機(jī)輸入一字符串,將所有ASCII值為偶數(shù)的字符輸出。例如:輸入abc123,輸出結(jié)果是b2(因?yàn)閎的ASCII值是98,2的ASCII值是50,其他字符的ASCII值都是奇數(shù)) #include printf(“輸入字符串:n”);gets(str); printf(“ASCII碼是偶數(shù)的字符有:”);for(i=0;str[i];i++) if(str[i]%2==0)putchar(str[i]); printf(“n”);} 14.從鍵盤輸入兩個(gè)字符串s1,s2,把s2連接到s1的末尾。不能用strcat函數(shù) #include printf(“輸入兩個(gè)字符串,輸入回車鍵結(jié)束:n”);gets(str1);gets(str2); mystrcat(str1,str2); printf(“連接在一起的字符串是:n”);puts(str1); } void mystrcat(char *p1,char *p2){ while(*p1)p1++;while(*p2) *p1++=*p2++;*p1='
主站蜘蛛池模板:
黑人巨大精品欧美一区二区免费|
亚洲开心婷婷中文字幕|
国产乱色精品成人免费视频|
国产精品国产三级国av|
日本三级香港三级三级人!妇久|
夜夜澡人摸人人添人人看|
国产区精品一区二区不卡中文|
精品国产乱码久久久久app下载|
好男人在线社区www在线观看视频|
国模大尺度啪啪|
丝袜国产一区av在线观看|
国产农村一国产农村无码毛片|
尤物yw午夜国产精品大臿蕉|
精品乱码卡1卡2卡3免费开放|
一边吃奶一边做动态图|
欧美人伦禁忌dvd放荡欲情|
九九综合九色综合网站|
国产精品黄在线观看免费软件|
国产成人精品一区二区三区视频|
免费看无码自慰一区二区|
999久久久无码国产精品|
日韩av无码精品人妻系列|
亚洲精品一区二区三区麻豆|
成 人色 网 站 欧美大片在线观看|
亚洲人成未满十八禁网站|
久久97国产超碰青草|
日韩亚洲欧美中文在线|
九九re6热在线视频精品66|
欧美日韩综合精品一区二区|
亚洲国产不卡久久久久久|
亚洲理论在线a中文字幕|
亚洲日韩精品a∨片无码|
一级丰满老熟女毛片免费观看|
亚洲精品国产一区二区小泽玛利亚|
性夜久久一区国产9人妻|
大肉大捧一进一出好爽mba|
小说区亚洲综合第1页|
少妇高潮太爽了在线观看欧美|
国产精品自产拍在线观看花钱看|
久久精品国产网红主播|
成在人线av无码免费高潮喷水|