簡介
串口伺服器是實現串口RS232/485/422到乙太網轉換的機器。目的在於解決串口設備通信距離短的問題。單片機、MCU、AISC都能實現此功能。
產品回顧
最初,串口伺服器是當成一個單獨的產品設計出來,簡單、方便、易用,起到提供數據通道的作用。以上三類方法都能夠實現這個功能,無需刻意的去評判哪種方式的好壞。
產品發展
但是,隨著時間的推移和市場的發展,客戶對此類產品的要求不僅僅是停留在提供數據通道,這個簡單的功能上,會逐漸的提出基於串口伺服器硬體平台上更多的套用需求。例如抄燃氣、水、電錶,完全可以把客戶端的軟體植入串口伺服器中,基層的安裝人員通常不具備專業的TCP/IP的知識,只需要完成硬體上的安裝即可,餘下的工作則由中心端的操作人員遠程完成配置。
這就引申出了一個問題,用哪種構架更能延長串口伺服器的產品壽命?
隨著ARM構架的MCU不斷發展,提供了更高的主頻、記憶體,無需占用主機的資源,也有足夠大的空間能夠容納客戶端的軟體,為二次開發提供了軟、硬體的平台,尤其是大口數的串口伺服器面積大大縮小,只有名片大小;隨著XLINX推出帶ARM的大容量FPGA,最終大口數的串口伺服器只需要一顆晶片就能完成,成本也會大大降低。
X1嵌入式串口伺服器
硬體X1模組的電路板為4 層板設計,從而可以達到更好的電源穩定性。
整個模組的硬體主要包括:
◆ 核心處理器為Microchip的PIC18f66J60的8位單片機,其主頻為40Mhz,
◆ 帶有IEEE 802.3™兼容的乙太網控制器,集成MAC 和10Base-T PHY。8 KB 傳送/ 接收數據包緩衝器SRAM
◆ 處理器內置1Mb的快閃記憶體。
◆ 低功耗、高速CMOS 快閃記憶體技術。
◆ 10Base-T PHY太網接口
◆ 一個TTL電平的串口,支持TX,RX引腳。
參考設計採用的板間連線器是2x12 的插針插座。插針位於模組板兩側,表1 是信號定義。
表1:
管腳號 | 定義 | 注釋 |
1 | 懸空 | ​ |
2 | Restore | 恢復出廠設定 |
3 | RXD | 串口的接收 |
4 | TXD | 串口的傳送 |
5 | GND | 信號地 |
6 | +5V | 電源 |
7 | E_78 | 連線到RJ45的7,8腳 |
8 | E_45 | 連線到RJ45的4,5腳 |
9 | E_2 | 連線到RJ45的2腳 |
10 | E_1 | 連線到RJ45的1腳 |
11 | E_6 | 連線到RJ45的6腳 |
12 | E_3 | 連線到RJ45的3腳 |
13 | 懸空 | ​ |
14 | 懸空 | ​ |
15 | 懸空 | ​ |
16 | 懸空 | ​ |
17 | 懸空 | ​ |
18 | CGND | 外殼地 |
19 | 懸空 | ​ |
20 | LED_LINK | 網路連結指示燈 |
21 | 懸空 | ​ |
22 | 懸空 | ​ |
23 | T_232 | 連線串口晶片的使能腳 |
24 | 懸空 | ​ |
​ | ​ | ​ |
Serialway X8八串口嵌入式伺服器
硬體名片大小◆ 核心處理器為ARM9系列處理器,250MHz 主頻,385MIPS,內部為64K SRAM
◆ 單5V 電源供電,系統上有1.2V,1.8V,3.3V 三路穩壓
◆ DDR2 晶片1GBit,運行於250MHz 匯流排頻率
◆ SPI Flash 採用64Mbit,用來進行串列啟動,保存U-boot
◆ 10/100M自適應乙太網接口
◆ 10 個串口,其中部分復用引腳
◆ 雙USB 接口,一個USB Host 及一個USB OTG,可同時支持兩個USB Host
◆ 紅外採用AT138 和AT205 收發器
◆ 提供7 個按鍵,採用中斷掃描方式
◆ 通過系統匯流排擴展160x160LCD 顯示模組
◆ 主晶片內部帶有RTC 模組,系統同時擴有外部RTC 晶片RX8025T,用戶可選擇使用
◆ 主晶片提供71 個GPIO,在平台中除去各模組占有引腳,用戶可使用的約25 個
◆ 通過系統匯流排擴展GPIO 供用戶使用X8 管腳定義
參考設計採用的板間連線器是兩套2x32 的插針插座。插針位於核心板兩側,各為一個2x32的插針,與外設板對應位置的2x32 插座相連線。連線器的選擇遵循高速信號可靠連線的準則。表1 是信號定義。
J1 | ​ | ​ | J2 | |||||
​ | 信號 | ​ | 信號 | ​ | ​ | 信號 | ​ | 信號 |
1 | 3.3V | 2 | 3.3V | ​ | 1 | 3.3V | 2 | 3.3V |
3 | GND | 4 | GND | 3 | GND | 4 | GND | |
5 | 3.3V | 6 | 3.3V | 5 | 3.3V | 6 | 3.3V | |
7 | GPIOD1 | 8 | GPIOE7 | 7 | DSCLK | 8 | PST1 | |
9 | GPIOD2 | 10 | NC | 9 | DSO | 10 | BKPT_N | |
11 | GPIOF1 | 12 | IRQ7 | 11 | PST2 | 12 | DSI | |
13 | GPIOF0 | 14 | GPIOJ1 | 13 | PSTCLK | 14 | PST0 | |
15 | RMII1_TXD1 | 16 | RMII0_TXEN | 15 | RESET_IN | 16 | PST3 | |
17 | RMII0_TXD1 | 18 | RMII1_TXEN | 17 | DDATA3 | 18 | RSTOUT_B | |
19 | RMII0_TXD0 | 20 | RMII0_RXD0 | 19 | DDATA1 | 20 | DDATA0 | |
21 | RMII1_TXD0 | 22 | RMII0_RXD1 | 21 | IRQ2 | 22 | DDATA2 | |
23 | RMII1_RXD1 | 24 | RMII0_CRS_DV | 23 | GND | 24 | GND | |
25 | RMII0_RXER | 26 | RMII1_CRS_DV | 25 | U2RXD | 26 | U2TXD | |
27 | RMII0_MDIO | 28 | RMII0_MDC | 27 | U6RXD | 28 | IRQ3 | |
29 | RMII1_RXER | 30 | RMII1_RXD0 | 29 | U6TXD | 30 | GPIOJ0 | |
31 | U8RXD | 32 | RMII_50MHz | 31 | GPIOD7 | 32 | ADC_IN1 | |
33 | IRQ4 | 34 | U8TXD | 33 | ADC_GND | 34 | ADC_IN0 | |
35 | U7TXD | 36 | IRQ1 | 35 | GPIOD3 | 36 | FB_CS0 | |
37 | U9TXD | 38 | U4TXD | 37 | GPIOD0 | 38 | GPIOB6 | |
39 | U9RXD | 40 | SIM0_VEN | 39 | FB_CLK | 40 | BWE0 | |
41 | SIM0_RST | 42 | SIM0_PD | 41 | FB_AD0 | 42 | FB_AD4 | |
43 | I2C2_SDA | 44 | I2C2_SCL | 43 | FB_AD6 | 44 | FB_AD5 | |
45 | U1CTS | 46 | GPIOF2 | 45 | FB_AD1 | 46 | FB_AD7 | |
47 | GPIOG7 | 48 | U7RXD | 47 | FB_AD2 | 48 | FB_AD3 | |
49 | U4RXD | 50 | GPIOH4 | 49 | GPIOA1 | 50 | GPIOA7 | |
51 | U0RXD | 52 | SIM0_CLK | 51 | GPIOB5 | 52 | FB_AD25 | |
53 | U1RXD | 54 | PWM_38KHz | 53 | FB_AD27 | 54 | GPIOG6 | |
55 | SIM0_DATA | 56 | U0TXD | 55 | FB_AD24 | 56 | FB_RNW | |
57 | U1RTS | 58 | U1TXD | 57 | FB_AD26 | 58 | FB_nOE | |
59 | USBH_DP | 60 | USBH_DM | 59 | FB_AD28 | 60 | FB_AB29 | |
61 | USBO_DP | 62 | USBO_DM | 61 | FB_AD30 | 62 | FB_AD31 | |
63 | GND | 64 | GND | 63 | GND | 64 | GND |