五月激情开心网,五月天激情社区,国产a级域名,婷婷激情综合,深爱五月激情网,第四色网址

接口協議優選九篇

時間:2022-05-21 21:43:51

引言:易發表網憑借豐富的文秘實踐,為您精心挑選了九篇接口協議范例。如需獲取更多原創內容,可隨時聯系我們的客服老師。

接口協議

第1篇

    關鍵詞:PS/2接口;串行通訊;單片機;鍵盤;CD4052

    1 PS/2接口標準的發展過程

    隨著計算機工業的發展,作為計算機最常用輸入設備的鍵盤也日新月異。1981年IBM推出了IBM PC/XT鍵盤及其接口標準。該標準定義了83鍵,采用5腳DIN連接器和簡單的串行協議。實際上,第一套鍵盤掃描碼集并沒有主機到鍵盤的命令。為此,1984年IBM推出了IBM AT鍵盤接口標準。該標準定義了84~101鍵,采用5腳DIN連接器和雙向串行通訊協議,此協議依照第二套鍵盤掃描碼集設有8個主機到鍵盤的命令。到了1987年,IBM又推出了PS/2鍵盤接口標準。該標準仍舊定義了84~101鍵,但是采用6腳mini-DIN連接器,該連接器在封裝上更小巧,仍然用雙向串行通訊協議并且提供有可選擇的第三套鍵盤掃描碼集,同時支持17個主機到鍵盤的命令。現在,市面上的鍵盤都和PS/2及AT鍵盤兼容,只是功能不同而已。

    2 PS/2接口硬件

    2.1 物理連接器

    一般,具有五腳連接器的鍵盤稱之為AT鍵盤,而具有六腳mini-DIN連接器的鍵盤則稱之為PS/2鍵盤。其實這兩種連接器都只有四個腳有意義。它們分別是Clock(時鐘腳)、Data數據腳 、+5V(電源腳)和Ground(電源地)。在PS/2鍵盤與PC機的物理連接上只要保證這四根線一一對應就可以了。PS/2鍵盤靠PC的PS/2端口提供+5V電源,另外兩個腳Clock(時鐘腳)和Data數據腳 都是集電極開路的,所以必須接大阻值的上拉電阻。它們平時保持高電平,有輸出時才被拉到低電平,之后自動上浮到高電平?,F在比較常用的連接器如圖1所示。

    2.2 電氣特性

    PS/2通訊協議是一種雙向同步串行通訊協議。通訊的兩端通過Clock(時鐘腳)同步,并通過Data(數據腳)交換數據。任何一方如果想抑制另外一方通訊時,只需要把Clock(時鐘腳)拉到低電平。如果是PC機和PS/2鍵盤間的通訊,則PC機必須做主機,也就是說,PC機可以抑制PS/2鍵盤發送數據,而PS/2鍵盤則不會抑制PC機發送數據。一般兩設備間傳輸數據的最大時鐘頻率是33kHz,大多數PS/2設備工作在10~20kHz。推薦值在15kHz左右,也就是說,Clock(時鐘腳)高、低電平的持續時間都為40μs。每一數據幀包含11~12個位,具體含義如表1所列。

    表1 數據幀格式說明

    1個起始位總是邏輯08個數據位(LSB)低位在前1個奇偶校驗位奇校驗1個停止位總是邏輯11個應答位僅用在主機對設備的通訊中

    表中,如果數據位中1的個數為偶數,校驗位就為1;如果數據位中1的個數為奇數,校驗位就為0;總之,數據位中1的個數加上校驗位中1的個數總為奇數,因此總進行奇校驗。

    2.3 PS/2設備和PC機的通訊

    PS/2設備的Clock(時鐘腳)和Data數據腳 都是集電極開路的,平時都是高電平。當PS/2設備等待發送數據時,它首先檢查Clock(時鐘腳)以確認其是否為高電平。如果是低電平,則認為是PC機抑制了通訊,此時它必須緩沖需要發送的數據直到重新獲得總線的控制權(一般PS/2鍵盤有16個字節的緩沖區,而PS/2鼠標只有一個緩沖區僅存儲最后一個要發送的數據)。如果Clock(時鐘腳)為高電平,PS/2設備便開始將數據發送到PC機。一般都是由PS/2設備產生時鐘信號。發送時一般都是按照數據幀格式順序發送。其中數據位在Clock(時鐘腳)為高電平時準備好,在Clock(時鐘腳)的下降沿被PC機讀入。PS/2設備到PC機的通訊時序如圖2所示。

    當時鐘頻率為15kHz時,從Clock(時鐘腳)的上升沿到數據位轉變時間至少要5μs。數據變化到Clock(時鐘腳)下降沿的時間至少也有5 μs,但不能大于25 μs,這是由PS/2通訊協議的時序規定的。如果時鐘頻率是其它值,參數的內容應稍作調整。

    上述討論中傳輸的數據是指對特定鍵盤的編碼或者對特定命令的編碼。一般采用第二套掃描碼集所規定的碼值來編碼。其中鍵盤碼分為通碼(Make)和斷碼(Break)。通碼是按鍵接通時所發送的編碼,用兩位十六進制數來表示,斷碼通常是按鍵斷開時所發送的編碼,用四位十六進制數來表示。

    3 PS/2接口的嵌入式軟件編程方法

    PS/2設備主要用于產生同步時鐘信號和讀寫數據。

    3.1 PS/2向PC機發送一個字節

    從PS/2向PC機發送一個字節可按照下面的步驟進行:

    (1)檢測時鐘線電平,如果時鐘線為低,則延時50μs;

    (2)檢測判斷時鐘信號是否為高,為高,則向下執行,為低,則轉到(1);

    (3)檢測數據線是否為高,如果為高則繼續執行,如果為低,則放棄發送(此時PC機在向PS/2設備發送數據,所以PS/2設備要轉移到接收程序處接收數據);

    (4)延時20μs(如果此時正在發送起始位,則應延時40μs);

    (5)輸出起始位(0)到數據線上。這里要注意的是:在送出每一位后都要檢測時鐘線,以確保PC機沒有抑制PS/2設備,如果有則中止發送;

    (6)輸出8個數據位到數據線上;

    (7)輸出校驗位;

    (8)輸出停止位(1);

    (9)延時30μs(如果在發送停止位時釋放時鐘信號則應延時50μs);

    通過以下步驟可發送單個位:

    (1)準備數據位(將需要發送的數據位放到數據線上);

    (2)延時20μs;

    (3)把時鐘線拉低;

    (4)延時40μs;

    (5)釋放時鐘線;

    (6)延時20μs。

第2篇

關鍵詞:PS/2接口;串行通訊;單片機;鍵盤;CD4052

1PS/2接口標準的發展過程

隨著計算機工業的發展,作為計算機最常用輸入設備的鍵盤也日新月異。1981年IBM推出了IBMPC/XT鍵盤及其接口標準。該標準定義了83鍵,采用5腳DIN連接器和簡單的串行協議。實際上,第一套鍵盤掃描碼集并沒有主機到鍵盤的命令。為此,1984年IBM推出了IBMAT鍵盤接口標準。該標準定義了84~101鍵,采用5腳DIN連接器和雙向串行通訊協議,此協議依照第二套鍵盤掃描碼集設有8個主機到鍵盤的命令。到了1987年,IBM又推出了PS/2鍵盤接口標準。該標準仍舊定義了84~101鍵,但是采用6腳mini-DIN連接器,該連接器在封裝上更小巧,仍然用雙向串行通訊協議并且提供有可選擇的第三套鍵盤掃描碼集,同時支持17個主機到鍵盤的命令?,F在,市面上的鍵盤都和PS/2及AT鍵盤兼容,只是功能不同而已。

2PS/2接口硬件

2.1物理連接器

一般,具有五腳連接器的鍵盤稱之為AT鍵盤,而具有六腳mini-DIN連接器的鍵盤則稱之為PS/2鍵盤。其實這兩種連接器都只有四個腳有意義。它們分別是Clock(時鐘腳)、Data數據腳、+5V(電源腳)和Ground(電源地)。在PS/2鍵盤與PC機的物理連接上只要保證這四根線一一對應就可以了。PS/2鍵盤靠PC的PS/2端口提供+5V電源,另外兩個腳Clock(時鐘腳)和Data數據腳都是集電極開路的,所以必須接大阻值的上拉電阻。它們平時保持高電平,有輸出時才被拉到低電平,之后自動上浮到高電平?,F在比較常用的連接器如圖1所示。

2.2電氣特性

PS/2通訊協議是一種雙向同步串行通訊協議。通訊的兩端通過Clock(時鐘腳)同步,并通過Data(數據腳)交換數據。任何一方如果想抑制另外一方通訊時,只需要把Clock(時鐘腳)拉到低電平。如果是PC機和PS/2鍵盤間的通訊,則PC機必須做主機,也就是說,PC機可以抑制PS/2鍵盤發送數據,而PS/2鍵盤則不會抑制PC機發送數據。一般兩設備間傳輸數據的最大時鐘頻率是33kHz,大多數PS/2設備工作在10~20kHz。推薦值在15kHz左右,也就是說,Clock(時鐘腳)高、低電平的持續時間都為40μs。每一數據幀包含11~12個位,具體含義如表1所列。

表1數據幀格式說明

1個起始位總是邏輯0

8個數據位(LSB)低位在前

1個奇偶校驗位奇校驗

1個停止位總是邏輯1

1個應答位僅用在主機對設備的通訊中

表中,如果數據位中1的個數為偶數,校驗位就為1;如果數據位中1的個數為奇數,校驗位就為0;總之,數據位中1的個數加上校驗位中1的個數總為奇數,因此總進行奇校驗。

2.3PS/2設備和PC機的通訊

PS/2設備的Clock(時鐘腳)和Data數據腳都是集電極開路的,平時都是高電平。當PS/2設備等待發送數據時,它首先檢查Clock(時鐘腳)以確認其是否為高電平。如果是低電平,則認為是PC機抑制了通訊,此時它必須緩沖需要發送的數據直到重新獲得總線的控制權(一般PS/2鍵盤有16個字節的緩沖區,而PS/2鼠標只有一個緩沖區僅存儲最后一個要發送的數據)。如果Clock(時鐘腳)為高電平,PS/2設備便開始將數據發送到PC機。一般都是由PS/2設備產生時鐘信號。發送時一般都是按照數據幀格式順序發送。其中數據位在Clock(時鐘腳)為高電平時準備好,在Clock(時鐘腳)的下降沿被PC機讀入。PS/2設備到PC機的通訊時序如圖2所示。

當時鐘頻率為15kHz時,從Clock(時鐘腳)的上升沿到數據位轉變時間至少要5μs。數據變化到Clock(時鐘腳)下降沿的時間至少也有5μs,但不能大于25μs,這是由PS/2通訊協議的時序規定的。如果時鐘頻率是其它值,參數的內容應稍作調整。

上述討論中傳輸的數據是指對特定鍵盤的編碼或者對特定命令的編碼。一般采用第二套掃描碼集所規定的碼值來編碼。其中鍵盤碼分為通碼(Make)和斷碼(Break)。通碼是按鍵接通時所發送的編碼,用兩位十六進制數來表示,斷碼通常是按鍵斷開時所發送的編碼,用四位十六進制數來表示。

3PS/2接口的嵌入式軟件編程方法

PS/2設備主要用于產生同步時鐘信號和讀寫數據。

3.1PS/2向PC機發送一個字節

從PS/2向PC機發送一個字節可按照下面的步驟進行:

(1)檢測時鐘線電平,如果時鐘線為低,則延時50μs;

(2)檢測判斷時鐘信號是否為高,為高,則向下執行,為低,則轉到(1);

(3)檢測數據線是否為高,如果為高則繼續執行,如果為低,則放棄發送(此時PC機在向PS/2設備發送數據,所以PS/2設備要轉移到接收程序處接收數據);

(4)延時20μs(如果此時正在發送起始位,則應延時40μs);

(5)輸出起始位(0)到數據線上。這里要注意的是:在送出每一位后都要檢測時鐘線,以確保PC機沒有抑制PS/2設備,如果有則中止發送;

(6)輸出8個數據位到數據線上;

(7)輸出校驗位;

(8)輸出停止位(1);

(9)延時30μs(如果在發送停止位時釋放時鐘信號則應延時50μs);

通過以下步驟可發送單個位:

(1)準備數據位(將需要發送的數據位放到數據線上);

(2)延時20μs;

(3)把時鐘線拉低;

(4)延時40μs;

(5)釋放時鐘線;

(6)延時20μs。

3.2PS/2設備從PC機接收一個字節

由于PS/2設備能提供串行同步時鐘,因此,如果PC機發送數據,則PC機要先把時鐘線和數據線置為請求發送的狀態。PC機通過下拉時鐘線大于100μs來抑制通訊,并且通過下拉數據線發出請求發送數據的信號,然后釋放時鐘。當PS/2設備檢測到需要接收的數據時,它會產生時鐘信號并記錄下面8個數據位和一個停止位。主機此時在時鐘線變為低時準備數據到數據線,并在時鐘上升沿鎖存數據。而PS/2設備則要配合PC機才能讀到準確的數據。具體連接步驟如下:

(1)等待時鐘線為高電平。

(2)判斷數據線是否為低,為高則錯誤退出,否則繼續執行。

(3)讀地址線上的數據內容,共8個bit,每讀完一個位,都應檢測時鐘線是否被PC機拉低,如果被拉低則要中止接收。

(4)讀地址線上的校驗位內容,1個bit。

(5)讀停止位。

(6)如果數據線上為0(即還是低電平),PS/2設備繼續產生時鐘,直到接收到1且產生出錯信號為止(因為停止位是1,如果PS/2設備沒有讀到停止位,則表明此次傳輸出錯)。

(7輸出應答位。

(8)檢測奇偶校驗位,如果校驗失敗,則產生錯誤信號以表明此次傳輸出現錯誤。

(9)延時45μs,以便PC機進行下一次傳輸。

讀數據線的步驟如下:

(1)延時20μs;

(2)把時鐘線拉低

(3)延時40μs

(4)釋放時鐘線

(5)延時20μs

(6)讀數據線。

下面的步驟可用于發出應答位;

(1)延時15μs;

(2)把數據線拉低;

(3)延時5μs;

(4)把時鐘線拉低;

(5)延時40μs;

(6)釋放時鐘線;

(7)延時5μs;

(8)釋放數據線。

4用于工控機的雙鍵盤設計

工控機通常要接標準鍵盤,但是為了方便操作,常常需要外接一個專用鍵盤。此實例介紹了在工控PC機到PS/2總線上再接入一個自制專用鍵盤的應用方法。

該設計應能保證兩個鍵盤單獨工作,而且相互不能影響。因此,不能直接把專用鍵盤和標準鍵盤一起接到工控PC的PS/2口。鑒于這種情況,本設計使用模擬開關CD4052并通過時分復用工控PC的PS/2口,來使在同一個時刻只有一個鍵盤有效,從而解決上述問題。其硬件原理圖如圖3所示。其中P2口和P1口用于鍵盤掃描電路(圖中未畫出),P0.0為數據端,P0.1為時鐘端,P0.2為模擬開關選通端。由于專用鍵盤不需要接收工控PC機的命令,所以軟件中并不需要寫這部分相應的代碼。

通過軟件可在專用鍵盤復位后把P0.2清0,以使模擬開關CD4052打開相應的通道。這時工控PC的標準鍵盤將開始工作。標準鍵盤可以完成工控PC剛啟動時對外設檢測的應答。復位后的專用鍵盤不停地掃描有沒有按鍵,如果有鍵按下則識別按鍵,并且按照預先的設計進行編碼,同時調用發送程序并通過PS/2口發送到工控PC。此時模擬開關關閉相應通道(將P0.2置1),專用鍵盤接入工控PCPS/2口的時鐘線和數據線而工作,但標準鍵盤被模擬開關從PS/2的時鐘線和數據線中斷而不工作,這樣,雙鍵盤便可時分復用同一個工控PC機的PS/2口。相應的發送子程序如下:

#defineDATAP00用P0.0做數據線

#defineCLKP01用P0.1做時鐘線

#defineINHIBITP02用P0.2做CD4052的INH端

#definePORTRP1用P1口做讀入口

#definePORTWP2用P2口做寫出口可以實現64個自定義鍵

voidsend(ucharx)/***functionforsendacharda-ta***/

{

uchari,temp,char_temp;

bitflag_check=1;

INHIBIT=1;//disablestandardkeyboard

delay_ms(3);

temp=x;

for(i=0;i<8;i++)//findthenumberof1inthisucharxisoddornot

{

char_temp=temp&0x01;

if(char_temp==0x01)

{

flag_check=!flag_check;

}

temp=temp>>1;

}

CLK=1;//send1toP1thenreadP1

while(!CLK)//ifCLKislowwait

{

;

}

CLK=1;DATA=1;//send1toP1thenreadP1

if(CLK==1)

{

delay_us(30);//

}

if(CLK==1&&DATA==1)//senddata

{

DATA=0;//startbit0

delay_us(10);

CLK=0;

delay_us(5);//

temp=x;

for(i=0;i<8;i++)//send8bitsLSBfirst

{

CLK=1;

delay_us(5);

char_temp=temp&0x01;

if(char_temp==0x01)

{

DATA=1;

}

else

{

DATA=0;

}

//DATA=(bit)(temp&0x01);

//LSB

delay_us(10);

CLK=0;

delay_us(5);

temp=temp>>1;

}

CLK=1;//sendcheckbit

delay_us(5);

DATA=flag_check;

delay_us(10);

CLK=0;

delay_us(5)

CLK=1;//sendstopbit

delay_us(5);

DATA=1;

delayus10

CLK=0

delay_us(5);

CLK=1;

delay_us(30);

CLK=1;DATA=1;//send1toP1thenreadP1

if(CLK==1&&DATA==0)

{

return;//pcissendingdatatomcu,goto

receivingfunction

}

INHIBIT=0;//enablestandardkeyboard

}

第3篇

關鍵詞:多路接口; E1; 協議轉換; FPGA

中圖分類號:TN712-34

文獻標識碼:A

文章編號:1004-373X(2011)09-0069-04

Design and Implementation of Protocol Converter for Multiple Interfaces and E1

YU Fa-hong1, LIU Wan2, WANG Zhan-feng2

(1. College of Electronic Technology, PLA Information Engineering University, Zhengzhou 450000, China;

2. Northern Institute of Information Technology, Beijing 100072, China)

Abstract: Since the communication bandwidth is widened increasingly, a design of protocol converter based on FPGA and MPC875 for multiple interfaces and E1 is proposed to solve the problem that the low-speed devices can not be connected to high-speed E1 lines. The hardware functional block diagram and the selection method of major components are provided. The dispatching method of multi-interface data, empty timeslot disposal strategy, FPGA structure design and software design flow are elaborated. Through the realization of protocol conversion for RS 232, RS 449, V.35 and E1, this design is proved to be feasible.

Keywords: multi-interface; E1; protocol convertion; FPGA

0 引 言

隨著計算機技術與通信技術的持續發展,人們對高帶寬需求不斷增加,接入DDN(Digital Data Network)網、幀中繼網等高速通信網的應用也越來越普遍[1]。E1是我國電信傳輸網一次群使用的傳輸標準,速率是2.048 Mb/s。實現多路接口與E1協議的相互轉換,將可以把多種設備同時連接至高速的E1線路。本文基于FPGA(Field Programmable Gate Array)、嵌入式微處理器設計了一個多路接口與E1的協議轉換器,實現RS 232,RS 449,V.35等接口數據在E1線路上的高速傳輸。

1 系統原理

1.1 系統描述

多路接口與E1協議轉換示意圖如圖1所示。在發送端,將多路接口數據按照一定順序合并成一路符合E1協議的數據在E1信道上進行傳輸,在接收端,將接收到的E1信號再按發送端順序分成多路接口數據。

圖1 多路接口與E1協議轉換示意圖

1.2 多路接口數據映射到E1幀的方法

E1是一種典型的時分復用結構,一個E1時分復用幀劃分為32個相等的時隙,編號為CH0~CH31,其中時隙CH0用作幀同步用,時隙CH16用來傳送信令。其余的時隙用來傳送有效數據[2]。

通過將不同的接口數據插入不同的數據時隙,把多路接口數據編成一個E1數據幀,實現多路接口與E1的協議轉換[3]。

將多路接口數據映射到E1時隙中,需要根據每路接口的速率進行時隙分配,也就是將E1的一個或多個時隙分配給一路接口使用,分配的時隙速率不小于接口速率(每個時隙的速率相當于64 Kb/s),DTE(Data Terminal Equipment)與DCE(Data Communications Equipment)設備端時隙分配設置必須一致。由于協議轉換器沒有自適應接口速率的功能,因此時隙的分配通過一個軟件界面由使用者完成。

為了實現對時隙的分配,設置30個4位的時隙分配寄存器。CPU根據使用者的時隙分配設置,生成30個數據時隙地址并寫入對應時隙分配寄存器。數據時隙地址表示的是該數據時隙傳送的是哪個接口的數據。在發送端,根據該地址從相應接口讀取數據插入對應時隙;在接收端,根據該地址將相應時隙數據送往對應接口。表1為數據時隙地址與接口對應關系表,空閑表示該時隙空置沒有使用。

系統將E1時隙分配給多路接口使用,當有時隙沒有被分配時,就會產生空時隙。在本設計中,系統可支配的最小單位是E1時隙,也就是說,系統可以將一個數據時隙分配給一路接口使用,也可以將多個數據時隙分配給一路接口使用,當一路接口數據不能完全填滿一個或多個時隙時,將會產生半空時隙。比如一個100 Kb/s的接口,占用兩個時隙,將會產生28 Kb/s的空時隙[4]。

對于沒有使用的空閑時隙,系統可以根據時隙分配寄存器的值識別空閑時隙。在發送端,默認發送全“1”數據,在接收端,拋棄該無用數據;對于一路接口數據不能完全填滿一個或多個數據時隙產生的半空時隙,采取循環發空包的方法來填充半空時隙,空包格式固定為“00001111”。在接收端,檢測到這樣的空包數據,丟棄不用。

下面主要實現V.35,RS 449,RS 232三路接口與E1協議轉換的設計[5-6]。通過三路接口與E1協議轉換的實現,驗證多路接口同時與E1協議轉換的可行性。

1.3 系統硬件原理框圖與模塊功能描述

系統硬件原理框圖如圖2所示,主要由接口芯片、FPGA、CPLD、微處理器構成。

圖2 系統硬件結構原理圖

LTC1546/LTC1544:多功能接口芯片LTC1546,LTC1544,二者結合,構成全功能的多協議接口界面,支持RS 232,RS 449,EIA530,EIA530-A,V.35,V.36,X.21協議,協議的選擇可完全由軟件進行。

MPC875:飛思卡爾MPC875嵌入式CPU,基于POWERPC架構,主頻高達133 MHz,8 KB指令cache,8 KB數據cache,總線頻率最高可達80 MHz。

EP3C25F324C8: Altera公司的CycloneⅢ系列FPGA,性價比高,資源豐富。

EPM7256AETC144-7:Altera公司MAX7000AE系列CPLD,支持多種接口電平。由于LTC1546,LTC1544接口電平為5 V,FPGA不支持這樣的接口電壓,這里使用CPLD作接口電路。

XRT82D20:RXAR公司的E1線路接口芯片,支持單路E1,具有HDB3編碼、時鐘恢復、線路驅動等功能,75 Ω或者120 Ω阻抗匹配。

keyboard:4×4鍵盤,用來接收時隙分配設置輸入。

LED:LED指示燈,共30個,用來指示30個數據時隙的使用情況:當LED燈點亮時,表示該時隙已經使用;LED燈不亮,表示該時隙為空閑。

2 關鍵模塊設計

2.1 與CPU通信FPGA端硬件電路設計[7]

當FPGA與CPU通信時,由于CPU總線特殊的時序關系,FPGA端須做相應的處理才能保證讀寫數據的穩定性。圖3為MPC875讀數據總線時序圖。其中:CS為片選信號,OE為讀信號,A[0:31]為地址信號,D[0:31]為數據信號。圖4為MPC875寫數據總線時序圖,WE為寫信號,其余信號與讀總線相同。

圖3 MPC875讀數據總線時序圖

當CPU讀取FPGA中數據時,先給出地址信號,然后使能片選CS、讀信號OE,這時如果數據總線上有數據,CPU讀入數據。但MPC875總線頻率高達80 MHz,為了CPU能穩定的讀取到數據,這里將片選信號與讀信號相“與”,然后擴寬3倍得到總線可用信號,在總線可用信號有效期間,數據總線上總有數據,這樣,可以保證CPU能穩定的讀到數據。

圖4 MPC875寫數據總線時序圖

當CPU寫入數據時,CPU先給出地址信號,然后給出片選及寫信號,在寫信號有效期間,CPU穩定的給出數據。因此,在片選及寫信號有效時,鎖存數據總線上的數據即可。

2.2 CPLD硬件接口電路設計

CPLD主要完成V.35,RS 449,RS 232數據收發;keyboard,LED控制;FIFO讀寫等功能。功能框圖如圖5所示。

圖5 CPLD程序功能框圖

CPU通過CPLD對接口芯片進行模式選擇。V.35,RS 449為同步平衡接口,常用接口速率為N×64 Kb/s(N=1~32)。時鐘、數據信號為兩線平衡傳輸,控制信號為不平衡傳輸。發送數據時,將與之對應的時鐘一并輸出。在接收數據時,用接口時鐘采樣數據。

RS 232為不平衡傳輸。幀格式固定為:1位開始位、8位數據位、結束位。結束位有三種:1位、1.5位、2位。開始位固定為“0”,停止位固定為“1”。通信雙方在開始通信前必須約定好串行傳輸的參數(傳輸速度、幀格式)。在發送端,首先通過分頻產生需要的串行波特率,然后按照幀格式以約定好的速率發送。在接收端,使用8倍于波特率的時鐘對接收到的信號進行過采樣,經過濾波后如果為低電平信號,即認為是開始位,然后按照約定好的速率接收數據。

在接收數據時,FIFO讀寫模塊將串行接收數據變成8位并行,同時,將與接收數據同步的時鐘8分頻,用此時鐘將8位并行數據寫入與該接口對應的FIFO;在發送數據時,將發送時鐘8分頻,用此時鐘從與該接口對應的FIFO讀取數據,同時將8位并行數據串行輸出。

keyboard為4×4掃描式矩陣鍵盤,具有16個鍵。由硬件程序自動掃描鍵盤,輸入數據觸發中斷,CPU讀取數據。LED輸出由CPU寫入相應的顯示寄存器,然后硬件程序將相關信號輸出點亮LED。

2.3 FPGA硬件電路設計[8-9]

FPGA主要根據時隙的分配設置,在時鐘系統的管理控制下,完成E1的編解幀功能。功能框圖如圖6所示。

圖6 FPGA程序功能框圖

CPU根據設置向時隙分配寄存器寫入相應的數據。在發送數據時,E1編解幀模塊根據時隙分配設置,從相應的FIFO讀取數據,寫入該時隙。對于沒有使用的空時隙,按照空時隙處理辦法填入無效數據。發送時鐘為FPGA外接的2.048 MHz時鐘。由于XRT82D20為數據差分輸入,因此將編解幀模塊輸出的數據TPOS進行反向得到TNEG,平衡輸出。TCLK為發送時鐘[10]。

在接收時,XRT82D20數據差分輸入RPOS,RNEG,將兩個信號相減得到輸入數據信號,RCLK為時鐘輸入。在輸入時鐘的控制下,E1編解幀模塊將數據解幀。同時,根據時隙分配設置,將各個時隙的數據送入不同的接口FIFO。

3 軟件主程序流程圖

MPC875主要完成接口芯片初始化設置、時隙分配設置輸入、狀態顯示等功能。軟件主程序流程圖如圖7所示。

上電以后,CPU進行初始化設置。延遲1 ms進行內存地址分配:每個自定義寄存器及I/O均分配一個內存地址,CPU操作時讀寫相應地址即可;接著進行LTC1546/LTC1544模式選擇,將三組接口分別配置為V.35,RS 449,RS 232;然后查詢時隙分配設置輸入,如果已經輸入時隙分配設置,則讀取時隙設置數據,否則,等待時隙設置輸入;協議轉換器初始化設置完畢,每隔100 ms進行一次線路運行狀態告警顯示。

圖7 軟件設計主流程圖

4 協議轉換器測試

4.1 測試平臺搭建

測試平臺由JDSU ANT-5 SDH接入測試儀,協議轉換器,示意圖如圖8所示。JDSU ANT-5手持型SDH/PDH傳輸分析儀,內置所有必要的接口:從T1 Bantam、E1平衡與E1非平衡,到STM-16/OC48光接口;測試速率從1.544 Mb/s~2.5 Gb/s;大屏幕、簡單圖形化界面、中文菜單,易于使用。

圖8 協議轉換器測試平臺示意圖

首先進行時隙分配設置,將1到15時隙分配給V.35接口,17到30時隙分配給RS 449接口,31時隙分配給RS 232接口。由JDSU ANT-5 SDH接入測試儀發出的2 MHz信號,進入協議轉換器,然后分別將V.35,RS 449,RS 232接口環回,再將輸出的E1信號接入測試儀,在測試儀中測試環回信號的各種特性。

4.2 測試結果

依照上述測試平臺進行協議轉換器功能測試,測試結果顯示,誤碼率為0,說明協議轉換器功能正常。JDSU ANT-5 SDH接入測試儀測試截圖如圖9所示。其中BER為誤碼率。

圖9 SDH接入測試儀測試結果截圖

5 結 語

本文提出了一種多路接口與E1的協議轉換設計方法,并具體介紹了時隙分配及調度、空時隙處理等技術難點。通過實現V.35,RS 449,RS 232三路接口與E1的協議轉換,證明該方案是可行的。另外,本設計具有良好的擴展性,可以方便的根據具體應用添加或去除接口,也可以在本設計的基礎上進行二次開發,完成更多的功能。

參考文獻

[1]李偉章.現代通信網概論[M].北京:人民郵電出版社,2003.

[2]劉穎,石戰勇,李仲俠.大規模集成電路PCM終端及復接設備[M].北京:人民郵電出版社,1996.

[3]潘長勇,韓冰,杜鄧寶.TS流與多路E1協議轉換器設計與實現[J].電視技術,2009(4):11-14.

[4]王合川,朱大勇.基于FPGA的多路E1信道的MPEG-2碼流傳輸[J].無線電工程,2007,37(9):10-12.

[5]林進超,羅強,李振卿.E1-V.35協議轉換器設計實現[J].中國科技信息,2008(24):62-63.

[6]郝娟,葉志祥.串口通信協議轉換器的研制[J].電腦開發與應用,2001,15(1):37-38.

[7]夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2003.

[8]陳大征,胡建偉.同步流密碼機中E1接口的設計與實現[J].電子技術應用,2009(3):138-139.

[9]程,顏永紅,帥金曉,等.E1成/解幀器的設計[J].微計算機信息,2009,25(8):83-88.

第4篇

隨著通信網技術的進一步發展,越來越多的互連網設備(如路由器、開關、網關、存取裝置)中的串行接口在廣域網(Wide Area Network)中被設計成能夠支持多種物理接口協議或標準。廣域網串行口協議包括RS-232,RS-449,EIA-530,V.35 ,V.36以及X.21等。圖1所示是一個簡單的串行通信接口示意圖。由圖可知,實現多協議串口通信的關鍵是將連接器送來的不同傳輸方式?平衡、非平衡?和不同電氣信號通過收發器轉換為終端能夠識別并處理的、具有TTL電平的信號。

1 傳統多協議通信的特點和問題

1.1 “子板”方式

廣域網串口應用中的通用實現方法是為所需的每一種物理協議提供一個獨立的子板。一個支持EIA-232,EIA-449及V.35協議的系統,通常需要三個獨立的子板以及三個不同的連接器。這種方法由于每種協議要求配置一塊子板,因此系統需要對PCB子板、收發器芯片、連接器等進行管理,這樣既浪費資源,又會使管理工作復雜化。

    1.2 通用連接器方式

為解決“子板”方式的缺點,可使用一塊母板及通用連接器。一個母板上有多種收發器芯片,可以滿足多串口協議的要求,并可共用一些通用器件,同時可減少資源的浪費。在配置中,應注意因連接器的管腳較少而帶來的問題,較好的辦法是根據信號而不是根據協議來分配管腳,即給每一個信號分配一個通用管腳,而不管其物理協議如何定義。如對EIA-232,EIA-449,EIA-530,V.35和V.36來說,其TxD信號可連至連接器相同的管腳。即SD?a?信號連接到管腳2,SD?b?信號連接到管腳14。然后利用這對管腳來描述所有協議的發送信號TxD。

這種方法同樣也會帶來一個問題,即所有收發器的I/O線至通用連接器的管腳必須彼此共用。例如,一個V.28驅動器芯片中的發送數據信號線的接連接器DB-25的管腳2;同時,一個V.11驅動器芯片中的發送數據信號線要接至連接器的管腳2和14;而V.35驅動器芯片中發送數據信號線也會接至連接器的管腳2和14。這樣,通用連接器的管腳2將同時接有三根信號線,管腳14接有兩根信號線。這樣,在這一配置中,所有的驅動器都必須具有三態特性,以禁止不必要的輸出。若收發器沒有三態特性,則需要使用一個多路復用器來選擇相應的輸出端。由此帶來的另一個問題是收發器在禁止使用時會產生漏電電流。如果選擇了V.28協議,其輸出電壓理論值為15V。此時對于V.11協議的驅動器會被禁用,而處于三態時,其輸出漏電電壓就必須足夠低,才能使得連在同一連接器管腳的V.28協議的驅動器信號不受影響。如果在發送器與接收器之間有隔斷開關,則開關也要考慮漏電情況。

1.3 串口的DTE/DCE模式切換

DTE/DCE的切換可通過選擇不同的連接器轉換電纜來實現,這樣,在實現DTE/DCE轉換時可最大程度地減小收發器的復雜性,但缺點是需要更換電纜,尤其是設備放置位置不便或DTE/DCE需要頻繁切換時這一點尤為突出。

如果保持傳輸電纜不變,則可將收發器配置為兩套以分別支持DTE、DCE方式。而將DTE收發器的驅動器輸出與DCE收發器的接收器輸入相連,而將接收器輸入端與DCE收發器的驅動器輸出相連。為了控制DTE或DCE方式,驅動器或接收器的輸出必須為三態。當選擇為DTE方式時,DCE芯片禁止,其驅動器和接收器處于三態,反之亦然。

該方法雖然解決了對電纜的頻繁更換問題,但由于多用了一套收發器而使得設計成本大為提高,且串口板的體積也大了很多。

2 多協議串口通信的實現原理

傳統設計中,針對某種協議通常應選擇相應的收發芯片,如對于RS-232協議,常用DS-1488/DS-1489、MAX232或SP208等收發器芯片;而對于RS-449協議,則常使用SN75179B、MAX488、MAX490等收發器芯片。當同時使用RS-232、RS-422和V.35協議時,就需要多個收發器芯片來支持不同的協議。

現在,一些收發器的生產廠商研制出了多協議收發器芯片。Sipex是第一家生產出RS-232/ RS-422軟件可選擇協議芯片SP301的公司。這種芯片可將RS-232和RS-422收發器的電氣特性綜合到一個芯片中實現。其中SP50X系列產品最多可支持8種協議標準。其它生產廠家如Linear公司生產的LTC154x系列、LTC284x系列芯片也具有以上功能。用戶可根據自己的需要選擇適當的芯片。

圖2為采用分立的收發器芯片與采用一片多協議收發器芯片實現多協議串口通信的通信卡。從圖可知,前者實現的復雜度要遠遠大于后者,具體的性能比較如表1所列。

表1 兩種方法實現串口通信的性能比較

分立器件板綜合器件板供電電壓+5V,-5V,+12V,-12V+5V所需收發器芯片數121支持的物理層協議RS-232,RS-422,RS-449,EIA-530,V.35,V.36RS-232,RS-422,RS-449,RS-485,EIA-530,EIA-530A,V.35,V.36協議選擇方式跳線或開關軟件或硬件(通過內部譯碼)串口板大小除了15個收發器芯片外還需其它硬件支持非常小功耗大約1W大約100mW~250mW除此之外,與分立收發器芯片相比,多協議收發器對驅動器使能控制和對輸出漏電電流的處理要容易得多。當通過軟件或硬件方法選擇某一協議時,驅動器和接收器的電氣參數將調整至適當的大小,電路內部將自動控制驅動器的輸出電平、接收器的輸入門限、驅動器和接收器的阻抗值以及每一物理層協議的常用模式范圍。

另外,由于外部網絡終端對V.35的需求,使得與V.35收發器的連接不能象其它協議那么簡單。當使用分立收發器芯片時,常常通過采用昂貴的繼電器開關電阻在選擇其它協議接口時將V.35網絡終端斷開,或者要求用戶每選擇一個新的接口標準就改變一次終端模塊,這樣既浪費資源又會使接口電路變得復雜,因而不是一種理想的實現方法。而多協議串口芯片則自動提供適當的終端和片上開關來符合V.10、V.11、V.28和V.35電氣協議,從而解決了電纜終端轉換問題。

3 基于LTC1546/44的多協議通信

為了說明多協議串口芯片的工作原理,現以Linear公司的LTC1546/1544芯片為例進行分析。

3.1 LTC1546/LTC1544的性能

LTC1546芯片是一個3驅動器/3接收器的收發器,其主要特點如下:

帶有軟件可選的收發器可支持RS232、RS449、EIA530、EIA530A、V.35、V.36和X.21協議?

可提供片上電纜終端?

與LTC1543引腳兼容?

與LTC1544配合可完成完整的DTE或DCE?

工作在5V單電源?

占位面積小。

LTC1544芯片是一個4驅動器/4接收器的收發器,其主要特點有:

軟件可選的收發器支持RS232、RS449、EIA530、EIA530A、V.35、V.36和X.21協議?

采用LTC1344A作為軟件可選的電纜終端?

采用LTC1543、LTC1544A或LTC1546可實現完整的DTE或DCE端口?

與LTC1543同樣工作于5V單電源。

這兩種芯片均采用28引線SSOP表面貼封裝,圖3所示為其引腳排列。

由LTC1546/ LTC1544可組成一套完整的軟件可選擇DTE或DCE接口,以應用于數據網絡、信息業務單元?CSU?和數據業務單元(DSU)或數據路由器中,它支持多種協議,電纜終端可在片上提供,因此不再需要單獨的終端設計。其中,LTC1546每個端口的一半用來產生和適當終止時鐘和數據信號。LTC1544則用來產生控制信號及本地環路返回信號(Local Loop-back,LL)。接口協議通過模式選擇引腳M0、M1和M2來決定,具體選擇方式見表2。

表2 通信協議的模式選擇

LTC1546模式名稱M2M1M0DCE/DTED1D2D3R1R2R3未用(缺省V.11)0000V.11V.11V.11V.11V.11 RS530A0010V.11V.11ZV.11V.11V.11RS5300100V.11V.11ZV.11V.11V.11X.210110V.11V.11ZV.11V.11V.11V.351000V.35V.35ZV.35V.35V.35RS449/V.361010V.11V.11ZV.11V.11V.11V.28/RS2321100V.28V.28ZV.28V.28V.28無電纜1110ZZZZZZ未用(缺省V.11)0001V.11V.11V.11ZV.11V.11RS530A0011V.11V.11V.11ZV.11V.11RS5300101V.11V.11V.11ZV.11V.11X.210111V.11V.11V.11ZV.11V.11B.351001V.35V.35V.35ZV.35V.35RS449/V.361011V.11V.11V.11ZV.11V.11V.28/RS2321101V.28V.28V.28ZV.28V.28無電纜1111ZZZZZZ由表2可知,如果將端口設置為V.35模式,模式選擇引腳應當為M2=1,M1=0,M0=0。此時,對于控制信號,驅動器和接收器將工作在V.28(RS232)模式;而對于時鐘和數據信號,驅動器和接收器將工作在V.35模式。

模式選擇可通過控制電路?或利用跳線將模式引腳接至地或Vcc?來實現對引腳M0、M1和M2的控制,也可通過適當的接口電纜插入到連接器上實現外部選擇控制。若選用后者,則當移開電纜時,全部模式引腳均不連接,即M0=M1=M2=1,此時LTC1546/ LTC1544進入無電纜模式。在這種模式中,LTC1546/1544的供電電流將下降到500μA以下,并且LTC1546/ LTC1544驅動器輸出將被強制進入高阻狀態。同時,LTC1546的R2和R3接收器應當分別用103Ω端接,而LTC1546和LTC1544上的其它接收器則應通過30kΩ電阻接到地。

通過DCE/DTE引腳可使能LTC1546中的驅動器3/接收器1、LTC1544中的驅動器3/接收器1和驅動器4/接收器4;LTC1544中的INVERT信號對驅動器4/接收器4起使能作用??梢酝ㄟ^下面兩種方法中的一種將LTC1546/LTC1544設置為DTE或DCE工作模式:一種是將專門配有適當極性的連接器接至DTE或DCE端;另一種是通過專用DTE電纜或專用DCE電纜發送信號給LTC1546/LTC1544,同時使用一個連接器構成一種既適合DTE又適合DCE的工作模式。

3.2 典型應用

圖4為一個帶有DB-25連接器端口并可被設置為DTE或DCE工作模式的多協議串口通信電路,圖中LTC1546/LTC1544芯片一邊與連接器相連,另一邊接至HDLC芯片,M0、M1、M2及DCE/DTE引腳接至EPLD硬件控制電路以實現對通信協議和工作模式的選擇。其中DTE或DCE工作模式需要連接對應的電纜以保證正確的信號發送。例如,在DTE模式中,TxD信號通過LTC1546的驅動器1發送到引腳2和14。在DCE模式中,驅動器則將RxD信號發送到引腳2和14。

圖4中,LTC1546采用一個內部容性充電泵來滿足VDD和VEE。其中,VDD為符合V.28的正電源電壓端,該端應連接一只1F的電容到地;VEE為負電源電壓端。一個電壓倍增器在VDD上將產生大約8V電壓,而電壓反相器則將在VEE上產生大約-7.5V的電壓。四只1μF電容均為表面貼裝的鉭或陶瓷電容,VEE端的電容最小應為3.3μF。所有電容耐壓均應為16V,同時應盡可能放置在LTC1546的附近以減少EMI干擾。

圖4 用LTC1546/LTC1544芯片實現多協議串口通信(DTE/DCE可選)

    在V.35模式中,LTC1546中的開關S1和S2將導通,同時應連接一個T型網絡阻抗,以將接收器的30kΩ輸入阻抗與T網絡終端并聯起來,但不會顯著影響總輸入阻抗,因此對于用戶來說,這種模式下的電路設計與其它模式下完全相同。

由于LTC1546是3驅動器/3接收器的收發器,LTC1546是4驅動器/4接收器的收發器,所以如果同時采用RL、LL和TM信號,則LTC1546/LTC1544就沒有足夠的驅動器和接收器。因此,可用LTC1545來替換LTC1544。LTC1545為5驅動器/5接收器的收發器,它能夠處理多個可選的控制信號,如TM和RL。

所有LTC1546/LTC1544接收器在全部模式下都具有失效保護功能。如果接收器輸入浮置或通過一個終端電阻短接在一起,那么,接收器的輸出將永遠被強制為一個邏輯高電平。

第5篇

前言

單片機系統中常常需要具備與PC機通信的功能,便于將單片機中的數據傳送到PC機中用于統計分析處理;有時又需要將PC機中的數據裝入單片機系統中,對單片機程序進行驗證和調試。目前常用的通信方式是串行通信,但傳輸速率太低,以9600bps計算,傳輸1MB至少需要10min(分鐘)以上。并行通信克服了串行通信傳輸速率低的缺點。標準并行口SPP(Standard Parallel Port)方式實現了由PC機向外設的單向傳輸,但實現PC機接收外設發送的數據則非常麻煩;而增強型并行口EPP(Enhanced Parallel Port)協議卻很好地解決了這一問題,能夠實現穩定的高速數據通信。

一、EPP接口協議介紹

EPP協議最初是由Intel、Xircom、Zenith三家公司聯合提出的,于1994年在IEEE1284標準中。EPP協議有兩個標準:EPP1.7和EPP1.9。與傳統并行口Centronics標準利用軟件實現握手不同,EPP接口協議通過硬件自動握手,能達到500KB/s~2MB/s的通信速率。

1.EPP引腳定義

EPP引腳定義如表1所列。

表1 EPP接口引腳定義

引腳號SPP信號EPP信號方  向說       明1StrobenWrite輸出指示主機是向外設寫(低電平)還是從外設讀(高電平)2~9Data0~7Data07輸入/輸出雙向數據總線10AckInterrupt輸入下降沿向主機申請中斷11BusynWait輸入低電平表示外設準備好傳輸數據,高電平表示數傳輸完成12PaperOut/EndSpare輸入空余線13SelectSpare輸入空余線14AutofdnDStrb輸出數據選通信號,低電平有效15Error/FaultnDStrb輸入空余線16InitializeSpare輸出初始化信號,低電平有效17Selected PrinternAStrb輸出地址數據選通信號,低電平有效18~25GroundGroundGND地線2.EPP接口時序

EPP利用硬件自動握手實現主機與外設之間的高速雙向數據傳輸,軟件只須對相應端口寄存器進行讀/寫操作。

(1)EPP寫操作時序如圖1所示。

CPU實現向外設寫數據的操作步驟如下:

①程序對EPP數據寄存器執行寫操作;

②nWrite置低;

③CPU將有效數據送到數據總線上;

④nDStrb(nAStrb)變低(只要nWait為低);

⑤主機等待nWait變高,確認數據發送成功;

⑥主機等待nWait變高,確認數據發送成功;

⑦EPP寫周期結束。

(2)EPP讀操作時序如圖2所示。

CPU實現從外設讀數據的操作步驟如下:

①程序對相應EPP端口寄存器執行讀操作;

②nDStrb(nAStrb)置低(如果nWait為低);

③主機等待nWait為高,確認數據發送成功;

④主機從并行口引腳讀取數據;

⑤nDStrb(nAStrb)置高;

⑥EPP讀操作周期結束。

3.EPP端口寄存器

EPP接口除了保留SPP的3個端口寄存器以外,還新增了5個端口寄存器,如表2所列。

表2 

地   址端口名稱方    向基地址+0SPP數據端口寫基地址+1EPP狀態端口讀基地址+2EPP控制端口寫基地址+3EPP地址端口讀/寫基地址+4EPP地址端口讀/寫基地址+5EPP數據端口讀/寫基地口+6未定義(32位傳輸)讀/寫基地址+7未定義(32位傳輸)讀/寫EPP狀態端口寄存器

WAITINTRUSER1USER2USER3××TMOUTWAIT:Wait狀態位(1有效);

INTR:中斷請求狀態位(1有效);

USER1~USER3:用戶自定義;

TMOUT:保留(EPP1.7)超時標志位(EPP1.9)。

EPP控制端口寄存器。

××DIRIRQENASTRBINITDSTRBWRITEDIR:方向位(1輸入,0輸出);

IRQEN:中斷使能位(1有效);

ASTRB:地址選通位(0有效);

INIT:初始化(1有效);

DSTRB:數據選通位(0有效);

WRITE:讀/寫狀態位(0:寫,1:讀)。

讀取接口狀態和控制接口都只須對相應的端口寄存器進行操作。以初始化為例:

讀操作初始化:outportb(port+2,0x24);

//port為SPP數據端口地址

寫操作初始化:outportb(port+2,0x04);

//port+2為EPP控制端口地址

4.EPP1.7和EPP1.9

EPP接口最先有EPP1.7標準定義,由于硬件廠商的原因,EPP現有兩個標準:EPP1.7和EPP1.9,可以在BIOS/外圍設備/并行口(BIOS/Peripheral Setup/Parallel Port Mode)方式中進行設置。兩者有如下不同點:

(1)EPP狀態端口寄存器的最低位bit0,在EPP1.9中定義為TMOUT。在EPP操作時序中,如果PC機數據(地址)選通信號變低后,且在10μs時間內,外設未能將nWait置為低,則TMOUT置為1,表示延時。

(2)EPP1.9標準中,只有當nWait為低時,才能開始一個操作周期;但在EPP1.7中,無論nWait狀態如何,nAstrb(nDstrb)都會被置低,從而開始一個新的數據(地址)操作周期。

二、EPP接口傳輸數據的一個實例

在某單片機系統中,須要將單片機系統中數據存儲器的大量數據傳輸到PC機中進行分析處理。EPP接口(采用EPP1.7標準)硬件電路及軟件流程圖如圖3~圖5所示。

GAL譯碼電路方程式為/O1=/I1*/I2*/I3*I4*/I5,EPP接口選通地址為2000H。當單片機執行如下指令:

MOV DPTR,#2000H

MOVX @DPTR,A

就將寄存器A中的數據鎖存到數據總線上,便于PC機利用EPP接口進行讀操作。

C語言例程:

#define SPPDATA 0x0378 //定義各寄存器地址

#define SPPSTAT 0x0379

#define SPPCNTL 0x037A

#define EPPADDR 0x037B

#define EPPDATA 0x037C

#include<stdio.h>

FILE *fp;

Int data;

Long i;

int k;

fp=fopen(filename,"wb"); //打開要存儲數據的文件

outportb(SPPCNTL,0x24);

//向控制端口發00100100代碼,初始化為讀操作模式for(i=0;i<524288;i++)

{

while(!((inportb(SPPSTAT))&0x80))

//查詢是否發送完畢

{}

data=inportb(EPPDATA); //讀數據

fputc(data,fp); //將數據存入文件

}

fclose(fp); //關閉文件

單片機匯編語言程序為:

FLAG1 BIT P1.7 ;標志位

FLAG2 BIT P3.4

STADD EQU 0000H ;要傳輸數據段的起始地址

NUM EQU FFFFH ;要傳輸數據端的字節個數

COMMUN:MOV DPTR,#STADD

COMM1:MOVX A,@DPTR

PUSH DPH

PUSH DPL

MOV DPTR,#EPP_CE

MOVX @DPTR,A

POP DPL

POP DPH

SETB FLAG1 ;將P1.7置高

CLR FLAG2 ;將P3.4置低

JB FLAG1,$;查詢P1.7為低,即nDStrb為低,表示PC讀操作已完成

SETB FLAG2 ;將P3.4置高

SETB FLAG1 ;將P1.7置高

INC DPTR

CJNE NUM,COMM1 ;循環NUM次

RET

實際應用該接口電路,能實現1MB/s的傳輸速率,并且性能穩定可靠。

如果應用EPP1.9標準,硬件電路不用變動,軟件中可以省略對nWait進行判斷的環節,速率能接近2MB/s。

第6篇

一個好的填充系統是建立在好的接口系統上。設計或發明一個好的接口系統,需要借助一些重要的原則或觀念做

引導。我想借一些實驗性的探討與諸位分享這些觀念。

先簡單介紹幾個在開放建筑領域已經建立且運用成功的重要觀念。

首先是“轄制原則”(principle of Dominance),這是哈布瑞肯教授(John Habraken)在三十多年前提出

的觀念。一個構造物,實體的或非實體的,包含一定的構成元素,其中的元素甲之變動會牽動元素乙,而反之不

然,則元素甲屬于上一層級,元素乙屬于下一層級;若元素乙之變動也同樣會牽動元素甲,則二者皆屬于同一層

級。這個原則可以印證在自然的構造物,甚至社會關系的構造上。依據這個原則,可以發現人造環境中存在著許

多有趣的“環境層級”現象,且因文化而變異。例如日本的傳統民居中幾乎沒有“家具”這個層級,而其“隔間”

則如同家具,可以攜帶并重新裝置。

其次,由于環境層級呈現交錯連續的包含關系(指空間)及依附關系(指實體),因此,屬于上一層級的可

視為“結構體”,而下一層級的便是“填充體”。結構與填充是相對的觀念,例如“隔間”對建筑物而言是填充體,

對家具而言則是結構體。身為結構體,具有轄制能力,相對而言較不易變動。身為填充體,雖然受到轄制,但也

相對而言較易變動,因此享有較多的自由。

第三,一個好的結構體應該能容納許多不同的內容。如何增廣多樣的填充物,則需要特殊的結構體設計方法。

第一代的開放建筑研究,例如荷蘭的SAR組織,在這方面已做出了重要的貢獻。另一方面,一個好的填充體系統

應該有相當的彈性應變能力來符合使用需求的變化,這正是“長效建筑”的具體意義。

近半世紀以來,開放建筑在這個課題上已取得了相當可觀的成果,但一些新生的挑戰也逐漸浮出。在此我提

出一些新的課題,并以一些實驗性的例子做為初步的響應。雖然例子多是針對建筑物的室內與家具層級,但所運

用的觀念則是普遍的。

課題一:開放界面。接口是連接雙方的中間體統稱,雖然可以指實物與虛體,但在此只討論實體的接頭(Joint)。

“開放”有兩個涵意需要說明。其一是依附在“開放產業化”(open industrialization)的目標上,就是盡量減

少特定且特殊化的設計。俗句“一個蘿卜一個坑”式的設計,由于過于“針對”性,不易產業化與市場化,如同“手

工藝”,屬于封閉型的產品。另一個含義就是可逆性:界面的兩方可合亦可分。在此,我要提出的是一個新的挑戰:

即構造物在變動與重組的過程中盡量減少接頭本身以及接頭雙方構件的損耗與破壞。如果因為變動造成大量的損

壞,便稱不上彈性,而是暴力,更造成廢棄污染,當然也無法支撐“長效”的價值。就此課題我舉兩個例子。

其一是由我指導的開放接口的理論研究[2] 。就室內一般的門、窗、隔間墻、結構墻、結構柱等現行施作法,

進行了接頭的開放性能評量(圖1)??傮w而言,現行施作是不開放的,不能達到長效的目的,也十分不“環保”。

這個研究指出了構造上的一些新挑戰。幾乎需要通盤檢討現行的構造思維,并且需要長期的研究努力。

另一個例子是以竹子構造為對象所發明的一種新接頭,使其能符合竹子銜接的不同方向、不同數量、不同粗細,

而且在拆解時不破壞竹子本身。竹子只是個試探的對象,重點在于了解開放接頭在設計上的挑戰及其復雜性(圖2)。

課題二:涵通系統。相對于特定與特殊而言,“涵通”(Generic)意味著概括、普及與通用。如果一個實

體構造系統稱得上是涵通的話,它應該可以非耗損性地拆解與重組。例如,中國傳統的木構造建筑及某些家具都

具有相當高程度的涵通性。進而言之,一個更高級的涵通構造系統應不但能拆解重組,還能組合成新的形式,甚

至可以做出另一種物體。另外, “系統”的概念一般是指有限的元素與元素之間有限的構成關系,它的價值常被

誤解成只是為了“大量而一致”的生產效率。然而系統最值得深究的卻應當是具有“以少量生產多樣”的創造能力。

一致與多樣并非魚與熊掌,在一個好的系統中,是可兼得的。

先介紹一個具有這種涵通效能的家具系統[4] (圖3)。這個實驗是發明一組構件(有限元素)與接頭(有限關系),

使其能做桌子,也能做椅子,還能做柜子,甚至能做出多樣的桌子、椅子與柜子。同時這個系統也要有“開放性”,

能與市場上的其他系統配合,創造更多的式樣。最后,它還要“友善”,就是用簡單的工具與少量的人力便能完成。

另一個要介紹的實驗是一般住宅的外墻系統[5] (圖4)。外墻是十分重要的填充體,很多時候當內部隔間變

動時,外墻必須相對地應變,否則恐怕連一半的功效都達不到。由于外墻是內外的接口,因此得面對較復雜的處

境,如何適用于幾乎無窮多的外墻尺寸是最關鍵的挑戰。如同其他“開放”且“友善”的系統一樣,它的元素必

須是少量的,同時在拆解、重組、變化時容易施作,而且無損耗。這個實驗中的系統目前僅適用于直交形式的外墻。

研究的結果是以40cm及70cm為基本模數,可生產出9種面板單元,其組合可以符合所有以10cm為單位的外墻

規模。另外設計一組具微調能力的10cm外框,來收納小于10cm的零碎尺寸。這樣的系統幾乎可以應付無窮多

的外墻尺寸,當然,外墻填充體與建筑結構體之間的開放接頭還需要進一步的雙向式構造研究。

課題三:活性系統(live system)?!盎钚浴笔莻€新生的觀念,一方面是指系統中的構件可以是任意的形體

與尺寸;另一個用意是將一個構造物視為一次構件間的“偶遇”,緣起則結合,緣滅則各自分散,而且是好聚好散。

系統中的每個構件與接頭又還原成自主的獨立元素,等待參與另一次的構造機緣?;钚韵到y的實驗緣起于一次我

個人關于“非開放建筑困境” 的體驗。如同許多購屋者(無論新屋或舊屋)的處境一樣,由于原有空間的形式與

材質皆不滿足新主人的需要,不得已而進行摧毀性的整建。經過無奈而殘暴的拆解過程后,我只保留了前屋主的

許多大小尺寸皆不同的木質抽屜,準備再利用,因此,所面臨的技術性挑戰是如何設計一個結構體來涵容許多不

同的填充體(抽屜)。這是典型的開放設計問題,而其方法早在四十年前即已發展了。這次,我自找麻煩地又加

了兩項要求使得這些柜子是個“活物”:其一,結構體的元素必須維持涵通的性質;其二,開放接頭。我與學生

們實驗的結果是以木片與橫桿作為垂直支撐與水平支撐的涵通元素,開放接頭則是C 形鐵夾與鋼索,柜子的結構

體是個開放的接口系統,整合了各種不同尺寸的抽屜(圖5)。

另一個例子是有關活性系統中的整合接口,并非結構體,而是填充元素[6] 。這個小實驗是發明一組“木磚”,

其尺寸能配合既有的紅磚與水泥磚,做出各種組合構造(圖6)。

雖然所介紹的只是些嘗試性的構想,卻緊扣著開放建筑的核心,也發掘出一些潛藏的觀念與新的課題。另外

值得一提的是這些實驗的共通特點,就是所有的設計都沒有特定的對象物,因而進入了“后設”設計(meta-design)

的方法論探討,或許今后可以來分享這方面的研究成果。

最后,我的自我叮嚀是:雖然人類的文明曾經創造了許多優美動人且有效的人造物品及人造物體系,而在過

去的半個世紀,開放建筑揭示了接近革命性的主題――如果我們希望能邁向更有智慧的人造環境,我們幾乎必須

“重想”建筑。

參考文獻

[1] Habraken, N. John. The Structure of the Ordinary. MIT Press. Cambridge, 1998.

[2] 林麗珠. 開放式接口之建筑構造理論. 臺立成功大學博士論文,臺南,2002.

[3] 黃偉城. 開放構造之接口設計. 臺立成功大學碩士論文,臺南,2005.

[4] 黃正宏. 實體系統之涵容性設計方法試探:以家具系統為例. 臺立成功大學碩士論文,臺南,1997.

第7篇

“寫了好多位芭蕾舞大師,”一時間,我感覺自己的舌頭仿佛化作了舞鞋,在那些名字間跳躍:魯道夫?紐瑞耶夫、瑪格?芳登、埃里克?布魯恩……最后,停在湯姆身前:“但我最喜歡老鞋匠湯姆的故事,他手工制作的舞鞋舉世無雙,舞迷們甚至去戲院后面的垃圾箱翻搶被穿壞的舞鞋,他根據腳的草圖就能判斷出腳所經歷的人生,他――”。

“哦!”他不感興趣地將書放下。

戴維?洛奇指責媒體人的聲音一時間在我耳畔響起:“我們為創造一個想象的世界所奉獻的藝術,所付出的心血,都被這些人糟蹋了,他們只關心細枝末節的事實!”(《作者,作者》)唉,抱歉了科倫?麥凱恩!你小說中所展現的詩意語言和敘事技巧,也被我“糟?!绷栓D―我不該只關注鞋而忽略“腳尖上的悲喜人生”!

若用一條線索,將自己從小到大讀過的書穿連起來,編出一部個人閱讀史,我會毫不猶豫地選用――嗯,一根鞋帶!作為一名“鞋控”,我的閱讀眼界就是這樣“低”,“低到塵埃里”:在我看來,讀書就是尋寶,寶就是一雙鞋,而鞋就是一道窄門,引我從低處走進廣闊的文學世界。

閱讀《紅樓夢》,以鞋為索引。起先,目光追隨著大觀園里小姐們的蓮步輕移,可只在“琉璃世界白雪紅梅”一章,看清過黛玉穿著掐金挖云紅香羊皮小靴,湘云穿著鹿皮小靴,余下的時間里她們的鞋均藏在裙裾下,養在深閨不給人識。

倒是對寶玉穿的鞋子,作者常給一筆細致的描述:初見黛玉時,寶玉穿著“錦邊彈墨襪,厚底大紅鞋”;夜訪瀟湘館時,他趿的是“蝴蝶落花鞋”;雪中賞梅時,他披蓑戴笠,登著一雙“沙塘屐”……哪個貼身丫鬟為他搭配的呀?有品味!看到小說結尾,已是出家人打扮的寶玉道別父親,赤著腳,歸隱于白茫茫一片曠野時,我曾想:如果說黛玉的命運是“質本潔來還潔去”,那寶玉的命運就是“足本赤來還赤去”――人生莫不就是如此?!

讀懂魯迅先生,從“一只小鞋”開始:小說《祝福》中,眾人尋找祥林嫂丟失的兒子阿毛尋到山里,看見“刺柴上掛著他的一只小鞋”,知他遭了狼。那只小鞋掛在我的記憶里好多年,由此懂得了:最弱微的細節,能向吃人的封建禮教發出最有力的抗議和控訴!

喜歡上海子的詩,同樣緣于“一雙白鞋子”。在最早為海子帶來廣泛聲譽的《亞洲銅》中,鞋子鑲嵌在我最愛的詩句間――“看見了嗎?那兩只白鴿子,它是屈原遺落在沙灘上的白鞋子/讓我們――我們和河流一起,穿上它吧”,穿上了海子的“白鞋子”,我行遍了厚厚的《海子詩全編》,串串足跡穿起來的,是我對詩人海子由衷的敬慕和禮贊。

專注“讀鞋”好多年的我,任自己赤足的目光,去書里尋找一雙合腳的鞋,尋來尋去發現:每一雙鞋,都是一段人生的結論。

幫我讀懂青春的,是鞋子。少女時代的成長路上,始終與三毛為伴,從《撒哈拉的故事》開始,那些如駱駝腳印般延展到時光深處的三毛作品,是我測量人生的標尺,世界的廣度、人性的深度和愛情的亮度,都經由一部部、一步步地被測算出來。三毛如此,我亦如此:“社會的繁華復雜,人生的變化、歡樂和苦痛都是小說里去看來的,我的生活,就像那雙球鞋似的一片雪白”(《赤足天使――鞋子的故事》)。

我從不喜歡穿高跟鞋,卻喜歡穿涼鞋,不是因為《格調》一書指出:“名牌牛仔褲配極高的高跟鞋”,是剛搬到郊區的上層貧民女孩的搭配,而是以鞋子來決定心情的寧靜與舒泰的三毛,曾這樣贊美過涼鞋:“這樣的東西踩在腳下,一個人的尊嚴和自由才真正流露了出來”,穿著“幾根帶子綁在腳上”的涼鞋,三毛行遍了世界,而我通過穿起涼鞋,體味那種“人生自然的態度,生命的享受,簡簡單單的腳下釋放”,進而讀懂的青春。

通過鞋子,我理解了婚姻。小時候讀格林兄弟的童話故事《灰姑娘》時,最難忘的是:那雙“光亮的絲質舞鞋”,穿在灰姑娘腳上,“就像專門為她做的一樣”,而兩個繼姐妹,又得切腳趾又得削腳跟才能穿上它……長大后才明白:格林兄弟是用舞鞋來教導年輕的姑娘們,婚姻如一雙鞋,適合你腳的才是完美。因此,關于婚姻這件事:“所有的經驗之談都無濟于事,你只需在半夜時分,傾聽你腳的感覺”(畢淑敏)。

在《東京日和》一書中,攝影師荒木經惟與妻子陽子,用鞋子來表達愛:陽子將她與荒木的跑鞋并排放在一起,將鞋帶系在一起??墒窍稻o的鞋帶,仍抵不住死神的鐮刀,陽子往生后,荒木拍攝如同廢墟一般的家,仍“把陽子和我的鞋擺在一起拍”,這一次,兩只鞋一前一后,仿佛陰陽相隔。在一個東京日和的好天氣,荒木終于決定出去走走,把拍出來的相片獻給陽子,穿什么鞋呢?荒木想:“運動便鞋不行,一定得穿上锃光瓦亮的皮鞋”時,那份沉默的愛意讓我的眼淚瞬間而至……

第8篇

乙方:_________

根據《中華人民共和國合同法》及其他相關法律、法規之規定,在平等、自愿、協商一致基礎上,就乙方委托甲方安排進出口貨運事宜相關費用的結算達成協議如下:

第一條 相關定義

1.費用結算單:指甲方為結算需要,向乙方出具的,載明應付費用及支付期限的任何形式的書面材料。

2.書面確認:指乙方及其分支機構或授權人員蓋章或簽字之任何形式的書面材料。

第二條 操作

乙方委托甲方從事下述服務。

1.在簽發第三方的運輸單證的情況下,作為乙方的貨運人,為乙方向承運人或其人訂艙,排載,制作單證,依據乙方的具體指示(參照每票托運單),從事拖車、場裝報關、報檢等,并代繳有關費用。

2.在甲方簽發自己的運輸單證時,向實際承運人訂艙、向乙方簽發運輸單證,并根據乙方的指示(參照具體托運單)提取貨柜、拖車、場裝、報關、報檢、并代繳相關費用。

3.辦理進口貨物貨運業務(參照委托單證或相關單證)。

第三條 結算

甲方選擇_________方式向乙方結算相關費用。

1.票結

1.1 乙方在委托甲方操作開始前,將空白支票或現金交給甲方,甲方必須出具收據。

1.2 甲方在每票貨操作完畢后,從該支票或現金直接支取費用。

1.3 乙方支票空頭或透支或預繳現金不足,應在甲方通知后立即補齊,并按逾期時間支付違約金。

1.4 非因甲方原因產生之超出結算期限的未結費用,乙方應于甲方通知后立即支付,并按逾期時間支付違約金。

1.5 甲方應于結算后立即出具發票給乙方。

2.月結

2.1 甲方于次月_________日之前提供前一個月的費用結算清單給乙方核對(乙方也可隨時向甲方索要)。

2.2 乙方必須于_________日前對之進行核對,并以書面形式向甲方確認或異議,否則視為同意。

2.3 乙方對甲方出具的費用結算清單全部或部分有異議的,應于_________日前,就確認或沒有異議的部分按時支付,不得拒付全部費用。

2.4 對于乙方有異議的全部或部分費用,甲方應立即與乙方協商,并于乙方書面異議的一周內重新制作費用結算清單給乙方。該新費用結算清單的交接,適用本第2款,第2.2項的規定。

2.5 對于上述應付費用,乙方若需要由本合同以外的第三人支付給甲方的,必須書面通知甲方,并對該應付款承擔連帶清償責任。

2.6 甲方對乙方所付費用,應立即開具發票或收據給乙方。

2.7 甲方在代墊金額較大的情況下,有權要求乙方先行支付代墊費用。定期結算期內代墊費用的最高限額為,超出限額乙方必須先行支付甲方代墊的費用。

2.8 甲方保有應收費用的增補權。雙方在結算后,發現尚有部分應計算的費用未結算的,甲方有權予以增補,乙方應在下一結算期間結清。乙方保有多付不應付費用的追索權,多付金額經雙方確認后在下一個結算期抵扣。

第四條 擔保措施

1.乙方同意,在其未能依本協議第二條,第三條規定支付甲方有關費用時,甲方有權留置其所占有的乙方本協議項下的標的貨物。

2.乙方應于不少于兩個月的期限內履行支付義務。該期限從甲方采取留置措施時開始計算。乙方逾期不履行的,甲方得以將留置物拍賣,變賣或與乙方協議折價,以其價款優先償付甲方費用。留置物折價,拍賣,變賣后,其價款仍不足以償付的,不足部分由甲方清償。

3.乙方同意,在乙方結清相關費用后,甲方方將報關單證或退稅核銷單或提單等交給乙方,由此造成的任何損失乙方承擔。

第五條 違約責任

1.乙方未依本協議向甲方支付費用,或支付費用不完整的,乙方必須從支付期滿日起,按應付款向甲方每日支付違約金。

2.乙方無正當理由_________天不履行某一個月的全部費用或所欠費用超過全部應付費用的時,甲方可以解除協議并按上款要求違約金。

3.甲乙雙方違反本協議造成對方損失的,按違約時的實際損失賠償對方。

第六條 爭議解決

1.本協議不盡之處,由雙方協商解決或作補充商議。

2.雙方協商不成的,一方可以向人民法院起訴。

第七條 協議的變更和解除

1.雙方可以通過協議方式變更或解除本協議,但必須提前30天書面通知對方,并經對方書面同意。

2.除第六條第2款的情形外,任何一方依上款方式單方解除本協議,必須支付給對方人民幣_________元違約金。

第八條 其他

1.本協議期限從_________至_________止。

2.本協議期滿,雙方無異議的,自動延續壹年。

3.本協議一式兩份,效力相同,雙方各持一份,自簽訂日起生效。

第九條 其他雙方協議的條款_________。

甲方(蓋章):_________乙方(蓋章):_________

第9篇

據悉,雙方為本次品牌戰略合作將投入價值數億元的資源,不僅包括9.9億瓶可口可樂旗下飲品、近9.9億張易迅現金券、27000臺限量版可口可樂三星訂制版智能手機,以及活動期間每天超過5萬件低至3折商品,還囊括了海量的騰訊增值服務商品。

事實上,早在去年9月份,易迅就已與可口可樂開展過淺層次的合作。當時,易迅曾聯合可口可樂推出了下單就送可口可樂圣誕禮花瓶的活動,并取得了很好的口碑。

記者了解到,正是基于上述良好的關系,本次雙方才決定將合作上升到戰略層面,共同投入資源打造這次持續90天的“午后暢爽秒殺大獎”的活動。

另一方面,易迅與可口可樂兩大品牌定位的相似性也是原因之一。據悉,易迅的消費群體大多是愛好3C數碼產品的年輕男性,物流主打“閃電送”的快節奏。可口可樂的品牌形象近幾年也日益年輕化,2013年推出的“小蘿莉”等賣萌新裝成功討好了中國年輕一代消費者,因此,兩家公司倡導的這些理念均符合當下年輕族群的生活態度。

相關文章
主站蜘蛛池模板: 日本加勒比在线精品视频 | 精品一区二区三区在线播放 | 欧美一区二区三区不卡免费 | 久久青春 | 欧洲性开放大片免费观看视频 | 99久久精品国产一区二区三区 | 欧美亚洲综合另类型色妞 | 97福利电影| 国产一区二区三区在线观看精品 | www精品一区二区三区四区 | 久久精品国产一区二区三区不卡 | 国产成人精品日本亚洲语言 | 国产精品porn | 国产午夜一区二区在线观看 | 狠狠五月天小说 | 国产欧美性综合视频性刺激 | 大片免免费观看视频播放网站 | 婷婷激情六月 | 亚洲激情婷婷 | 欧美色成人综合 | 成年人免费小视频 | 狠狠躁夜夜躁人人爽天天段 | 97视频免费看 | 免费在线视频网站 | 国产精品视频第一区二区三区 | 国产成人免费在线 | 日韩福利在线观看 | 婷婷激情丁香 | 久久免费视频播放 | 国产成人网 | 国产一级毛片视频在线! | 国产午夜精品久久久久免费视小说 | 97精品高清一区二区三区 | runaway在线观看免费韩国动漫 | 国产精品综合一区二区三区 | 国产精品免费观看视频播放 | 九九福利视频 | 国产精品99在线观看 | 欧美性高清在线视频 | 97视频在线免费观看 | 六月丁香六月婷婷 |