亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于ARM的嵌入式網(wǎng)關(guān)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2010-05-13 08:46:00
        現(xiàn)代電子技術(shù) 2009年12期
        關(guān)鍵詞:CAN總線(xiàn)驅(qū)動(dòng)程序

        徐 敏

        摘 要:針對(duì)以太網(wǎng)與CAN現(xiàn)場(chǎng)總線(xiàn)之間互連的需求,提出一種基于ARM的嵌入式網(wǎng)關(guān)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),分別從網(wǎng)關(guān)硬件系統(tǒng)組成、協(xié)議轉(zhuǎn)換流程以及嵌入式Linux下CAN設(shè)備驅(qū)動(dòng)程序的開(kāi)發(fā)方法進(jìn)行分析與設(shè)計(jì)。通過(guò)軟、硬件平臺(tái)的搭建與測(cè)試,實(shí)現(xiàn)了以太網(wǎng)與CAN現(xiàn)場(chǎng)總線(xiàn)之間的協(xié)議轉(zhuǎn)換,為CAN/Ethernet的互連提供了一種傳輸速度快、成本低、穩(wěn)定性高的網(wǎng)關(guān)解決方案。

        關(guān)鍵詞:網(wǎng)關(guān)設(shè)計(jì);CAN總線(xiàn);協(xié)議轉(zhuǎn)換;驅(qū)動(dòng)程序

        中圖分類(lèi)號(hào):TP393文獻(xiàn)標(biāo)識(shí)碼:B

        文章編號(hào):1004-373X(2009)12-131-03

        Design and Realization of Embedded Gateway System Based on ARM

        XU Min

        (Xiamen University of Technology,Xiamen,361024,China)

        Abstract:For the demands of interconnection between Ethernet and CAN fieldbus,ARM-based embedded gateway system is designed and implemented.Analysis and design are carried on respectively from the structure of gateway hardware systems,the processes of protocol transitions and development method of CAN device drivers under the embedded Linux.The protocol conversion between Ethernet and CAN fieldbus is achieved through the build and test of the hardware and software platform.In this paper,a gateway solution for the interconnection of CAN/Ethernet is provided with rapid-transmission,low- cost and high-stability.

        Keywords:gateway design;CAN Bus;protocol conversion;driver program

        0 引 言

        CAN (Controller Area Network)為控制器局域網(wǎng)絡(luò),CAN總線(xiàn)規(guī)范已經(jīng)被國(guó)際標(biāo)準(zhǔn)化組織制訂為國(guó)際標(biāo)準(zhǔn)ISO11898,并得到眾多半導(dǎo)體器件廠商的支持,推出各種集成有CAN協(xié)議的產(chǎn)品。CAN屬于總線(xiàn)式串行通信網(wǎng)絡(luò),由于其采用了許多新技術(shù)和獨(dú)特的設(shè)計(jì),低成本、高可靠性、實(shí)時(shí)性、靈活性、抗干擾能力強(qiáng)等特點(diǎn),已被廣泛應(yīng)用于各個(gè)自動(dòng)化控制系統(tǒng)中。在汽車(chē)電子、自動(dòng)控制、電力系統(tǒng)等領(lǐng)域,CAN總線(xiàn)具有無(wú)可比擬的優(yōu)越性[1]。

        以太網(wǎng)以其通信數(shù)據(jù)量大、傳輸速度快、開(kāi)放性好、成本低等優(yōu)點(diǎn),彌補(bǔ)了現(xiàn)場(chǎng)總線(xiàn)通信速率低的缺陷,成為現(xiàn)階段信息網(wǎng)絡(luò)應(yīng)用最廣的局域網(wǎng)技術(shù)。用以太網(wǎng)直接進(jìn)入工業(yè)控制領(lǐng)域,目前還存在一些問(wèn)題,以太網(wǎng)的媒體訪問(wèn)方式CSDA/CD不能保證網(wǎng)絡(luò)傳輸?shù)拇_定性和實(shí)時(shí)性,不能滿(mǎn)足工業(yè)現(xiàn)場(chǎng)惡劣環(huán)境的要求。將以太網(wǎng)引入工業(yè)測(cè)控領(lǐng)域,通過(guò)與現(xiàn)場(chǎng)總線(xiàn)(CAN BUS)分工合作,構(gòu)成兩種異構(gòu)網(wǎng)絡(luò)結(jié)構(gòu),將高效的以太網(wǎng)和低速的現(xiàn)場(chǎng)總線(xiàn)相結(jié)合,解決大規(guī)模測(cè)控系統(tǒng)實(shí)時(shí)性和可靠性矛盾,提高整個(gè)系統(tǒng)的工作效率。兩種異構(gòu)網(wǎng)絡(luò)的互連,需要用嵌入式網(wǎng)關(guān)實(shí)現(xiàn)。

        CAN/Ethernet網(wǎng)關(guān)設(shè)計(jì)的主要任務(wù)是協(xié)議轉(zhuǎn)換,要求數(shù)據(jù)解析正確完整,同時(shí)響應(yīng)迅速、耗時(shí)低、實(shí)時(shí)性和安全性好。基于RISC架構(gòu)的ARM微處理器指令執(zhí)行效率高,軟件操作平臺(tái)易于建設(shè),同時(shí)具備豐富的外圍擴(kuò)展電路,能滿(mǎn)足實(shí)時(shí)多任務(wù)要求。使用ARM技術(shù)構(gòu)造以太網(wǎng)與CAN現(xiàn)場(chǎng)總線(xiàn)協(xié)議轉(zhuǎn)換網(wǎng)關(guān)是一種高效可行的方案。

        1 網(wǎng)關(guān)硬件系統(tǒng)組成

        網(wǎng)關(guān)的主要功能是進(jìn)行以太網(wǎng)數(shù)據(jù)報(bào)文與CAN數(shù)據(jù)幀之間的協(xié)議轉(zhuǎn)換,實(shí)現(xiàn)以太網(wǎng)與CAN總線(xiàn)的互聯(lián)。系統(tǒng)的硬件組成包括CAN總線(xiàn)接口設(shè)計(jì)和以太網(wǎng)接口設(shè)計(jì),如圖1所示。

        S3C2410 是Samsung公司推出的一款低價(jià)位、低功耗、高性能的32 位RISC 嵌入式處理器。該芯片采用ARM920T內(nèi)核,5級(jí)流水線(xiàn)和哈佛結(jié)構(gòu),工作頻率高達(dá)266 MHz,運(yùn)行速度可達(dá)1.1 MIPS。S3C2410 提供了豐富的內(nèi)部資源,如:SDRAM控制器、LCD 控制器、3 通道的UART、4 通道的DMA、2 個(gè)SPI 模塊,支持輪詢(xún)、中斷與DMA三種數(shù)據(jù)發(fā)送模式。雖然內(nèi)部沒(méi)有CAN 控制器,但可以通過(guò)SPI 接口進(jìn)行擴(kuò)展,接口電路簡(jiǎn)單,易于實(shí)現(xiàn)[2]。

        圖1 網(wǎng)關(guān)硬件接口原理圖

        CAN總線(xiàn)接口電路主要采用帶SPI接口的獨(dú)立CAN控制器MCP2510、CAN總線(xiàn)收發(fā)器TJA1050、高速光隔6N137和DC/DC電源隔離模塊DCR010505等設(shè)備組成。獨(dú)立CAN控制器MCP2510完全支持CAN總線(xiàn)的V 2.0A和V 2.0B 的技術(shù)規(guī)范。系統(tǒng)設(shè)計(jì)時(shí),將MCP2510 作為從設(shè)備連接到S3C2410 的SPI0 口[3]。TJA1050總線(xiàn)收發(fā)器是CAN控制器和物理總線(xiàn)之間的接口芯片,增強(qiáng)了總線(xiàn)的驅(qū)動(dòng)能力。為增強(qiáng)CAN總線(xiàn)節(jié)點(diǎn)的抗干擾能力,MCP2510的TXCAN 和RXCON并不直接與TJA1050的TXD和RXD相連,而是通過(guò)兩片光電耦合器6N137與TJA1050相連,同時(shí)光隔芯片的兩端電源采用DC/DC模塊進(jìn)行隔離。這樣就實(shí)現(xiàn)了系統(tǒng)外總線(xiàn)CAN節(jié)點(diǎn)間的完全電氣隔離,增強(qiáng)了節(jié)點(diǎn)的穩(wěn)定性和安全性??偩€(xiàn)兩端都接有1個(gè)終端電阻(120 Ω)和1個(gè)TVS管,以消除反射信號(hào),有效提高系統(tǒng)的抗干擾能力。

        以太網(wǎng)接口電路是在S3C2410片上擴(kuò)展網(wǎng)絡(luò)接口芯片RTL8019AS,RTL8019AS是臺(tái)灣REALTEK公司生產(chǎn)的一種基于ISA總線(xiàn)的高度集成的以太網(wǎng)控制器。它實(shí)現(xiàn)了以太網(wǎng)媒介訪問(wèn)層(MAC)和物理層(PHY)的全部功能,包括MAC數(shù)據(jù)幀的收發(fā)、地址識(shí)別、循環(huán)冗余檢驗(yàn)(Cyclic Redundancy Check,CRC)編碼/校驗(yàn)、曼徹斯特編解碼、超時(shí)重傳、鏈路完整性測(cè)試、信號(hào)極性檢測(cè)與糾正等。RTL8019AS與主處理器有3種接口模式,跳線(xiàn)模式(Jumper),即插即用模式(PnP)和免跳線(xiàn)模式(Jumperless)。系統(tǒng)采用常見(jiàn)的跳線(xiàn)模式來(lái)選擇I/O端口和中斷[4]。

        2 協(xié)議轉(zhuǎn)換流程

        當(dāng)CAN總線(xiàn)上的設(shè)備向Ethernet網(wǎng)發(fā)送數(shù)據(jù)時(shí),嵌入式網(wǎng)關(guān)將接收到的CAN數(shù)據(jù)包解析,提取數(shù)據(jù)域中的內(nèi)容;然后按照TCP/IP協(xié)議進(jìn)行封裝,嵌入式網(wǎng)關(guān)將經(jīng)過(guò)封裝的數(shù)據(jù)發(fā)送給以太網(wǎng)控制芯片RTL8019AS。由RTL8019AS自動(dòng)給這些數(shù)據(jù)添加以太網(wǎng)物理層和邏輯鏈路層所需的相關(guān)信息,通過(guò)物理接口傳送到以太網(wǎng)。反之,當(dāng)以太網(wǎng)向CAN總線(xiàn)上設(shè)備發(fā)送TCP/IP 數(shù)據(jù)包時(shí),它首先將數(shù)據(jù)發(fā)送到RTL8019AS,嵌入式網(wǎng)關(guān)從RTL8019AS中接收到數(shù)據(jù)后,提取實(shí)際要傳送的數(shù)據(jù),然后封裝成CAN總線(xiàn)數(shù)據(jù)格式,通過(guò)CAN總線(xiàn)將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)中的現(xiàn)場(chǎng)設(shè)備。

        嵌入式網(wǎng)關(guān)硬件必須具有以太網(wǎng)接口和CAN 總線(xiàn)接口,而軟件要有TCP/IP 協(xié)議棧和CAN 總線(xiàn)驅(qū)動(dòng)程序;通常嵌入式Linux 內(nèi)核中有完整的TCP/IP協(xié)議棧。由于REALTEK公司支持Linux的開(kāi)發(fā),Linux系統(tǒng)中已含有RTL8019AS芯片的通用驅(qū)動(dòng)程序,CAN 總線(xiàn)協(xié)議驅(qū)動(dòng)并不是標(biāo)準(zhǔn)配置。因此,設(shè)計(jì)CAN 總線(xiàn)接口及其編制驅(qū)動(dòng)程序是實(shí)現(xiàn)嵌入式網(wǎng)關(guān)最主要的工作[5]。

        3 CAN驅(qū)動(dòng)程序設(shè)計(jì)

        Linux 驅(qū)動(dòng)程序?qū)儆贚inux 內(nèi)核的一部分,是嵌入式系統(tǒng)控制硬件的接口,它為用戶(hù)屏蔽設(shè)備的工作細(xì)節(jié),并向用戶(hù)提供透明訪問(wèn)硬件設(shè)備的機(jī)制。驅(qū)動(dòng)程序的開(kāi)發(fā)在嵌入式系統(tǒng)開(kāi)發(fā)中具有舉足輕重的地位。開(kāi)發(fā)出穩(wěn)定、完備的驅(qū)動(dòng)程序可提高整個(gè)系統(tǒng)的性能。

        3.1 CAN驅(qū)動(dòng)程序流程

        MCP2510 的內(nèi)部結(jié)構(gòu)框圖如圖2所示。MCP2510內(nèi)含3個(gè)發(fā)送緩沖器和2個(gè)接收緩沖器,同時(shí)還具有靈活的中斷管理能力。CAN協(xié)議機(jī)負(fù)責(zé)與CAN總線(xiàn)的接口,SPI接口邏輯用于實(shí)現(xiàn)同MCU 的通信,而寄存、緩沖器組與控制邏輯則用來(lái)完成各種方式的設(shè)定和操作控制[6]。

        圖2 MCP2510 內(nèi)部結(jié)構(gòu)框圖

        在Linux多任務(wù)操作系統(tǒng)中,CAN總線(xiàn)通信程序的設(shè)計(jì)可分為發(fā)送數(shù)據(jù)模塊、接收等待模塊和中斷處理模塊實(shí)現(xiàn)。系統(tǒng)中CAN總線(xiàn)的數(shù)據(jù)發(fā)送和接收是兩個(gè)不同的線(xiàn)程。在驅(qū)動(dòng)程序中建立數(shù)據(jù)發(fā)送和接收緩沖區(qū)。中斷處理程序只負(fù)責(zé)填充(或讀取)緩沖區(qū)中的數(shù)據(jù),然后喚醒等待接收(或發(fā)送)數(shù)據(jù)的任務(wù)。數(shù)據(jù)的發(fā)送與接收都通過(guò)獨(dú)立的緩沖區(qū),并由中斷來(lái)實(shí)現(xiàn)。操作系統(tǒng)的中斷響應(yīng)時(shí)間在軟件上決定了CAN總線(xiàn)數(shù)據(jù)的最快收發(fā)速度。

        3.2 CAN設(shè)備驅(qū)動(dòng)程序的實(shí)現(xiàn)要點(diǎn)

        3.2.1 CAN設(shè)備驅(qū)動(dòng)操作函數(shù)

        CAN 設(shè)備驅(qū)動(dòng)程序最終提供給應(yīng)用程序的是一個(gè)流控制接口,主要包括:open,realse,read,write,ioctl 等操作。添加設(shè)備驅(qū)動(dòng)程序,實(shí)際上就是給上述操作編寫(xiě)相應(yīng)的程序代碼[7-9]。驅(qū)動(dòng)程序加載到內(nèi)核時(shí),會(huì)首先運(yùn)行驅(qū)動(dòng)程序的初始化函數(shù),然后等待系統(tǒng)調(diào)用在file_operations 數(shù)據(jù)結(jié)構(gòu)中定義的相關(guān)函數(shù),實(shí)現(xiàn)對(duì)設(shè)備的操作。系統(tǒng)使用Linux 2.4.18版本,其文件系統(tǒng)接口被寫(xiě)義為:

        static struct file_operations s3c2410_fops = {

        owner: THIS_MODULE,

        open: s3c2410_mcp2510_open,

        read:s3c2410_mcp2510_read,

        write: s3c2410_mcp2510_write,

        ioctl: s3c2410_mcp2510_ioctl,

        release: s3c2410_mcp2510_release,

        };

        s3c2410_mcp2510_open 負(fù)責(zé)對(duì)將要進(jìn)行的I/O操作做好必要的準(zhǔn)備工作,主要包括限制CAN打開(kāi)次數(shù)、清空3個(gè)發(fā)送緩沖區(qū)和2個(gè)接收緩沖區(qū)等。

        s3c2410_mcp2510_write 將要發(fā)送的數(shù)據(jù)通過(guò)SPI 總線(xiàn)將數(shù)據(jù)傳送MCP2510 的發(fā)送緩沖器,再通過(guò)MCP2510 將數(shù)據(jù)發(fā)送到CAN總線(xiàn)。

        s3c2410_mcp2510_read 用于將MCP2510 從CAN 總線(xiàn)上接收到接收緩沖器的數(shù)據(jù),通過(guò)SPI 總線(xiàn)讀到用戶(hù)區(qū),并返回所讀出的字節(jié)數(shù)。

        s3c2410_mcp2510_ioctl 用于控制CAN總線(xiàn)通信的波特率、設(shè)置幀ID、設(shè)置工作模式、設(shè)置設(shè)備濾波器等工作。

        s3c2410_mcp2510_release 用于釋放所占用的內(nèi)存、中斷等資源。

        3.2.2 CAN 設(shè)備的初始化函數(shù)

        CAN 設(shè)備的初始化函數(shù)主要負(fù)責(zé)創(chuàng)建CAN 設(shè)備的節(jié)點(diǎn)設(shè)備文件、注冊(cè)CAN 設(shè)備的中斷處理函數(shù)、初始化MCP2510 等工作。

        static int _init s3c2410_mcp2510_init(void)

        { …

        init_MCP2510(BandRate_250kbps);

        ret=register_chrdev(0,DEVICE_NAME,&s3c2410;_fops);

        tsMajor=ret;

        ret=request_irq(IRQ_MCP2510,s3c2410_isr_mcp2510,SA_INTERRUPT,DEVICE_NAME,s3c2410_isr_mcp2510);

        #ifdef CONFIG_DEVFS_FS

        devfs_can_dir=devfs_mk_dir(NULL,"can",NULL);

        devfs_canraw =devfs_register ( devfs_can_dir,"0",DEVFS_FL_DEFAULT,tsMajor,SPIRAW_MINOR,S_IFCHR|S_IRUSR|S_IWUSR,&s3c2410;_fops,NULL);

        #endif

        return 0;

        }

        在Linux系統(tǒng)中,初始化函數(shù)從s3c2410_mcp2510_init( )開(kāi)始。通過(guò)調(diào)用register_chrdev 向系統(tǒng)注冊(cè)字符型設(shè)備驅(qū)動(dòng)程序;通過(guò)devfs_register( )函數(shù)創(chuàng)建設(shè)備文件系統(tǒng)的CAN設(shè)備節(jié)點(diǎn)。同時(shí),CAN設(shè)備驅(qū)動(dòng)程序通過(guò)調(diào)用request_irq 函數(shù)來(lái)申請(qǐng)中斷,向系統(tǒng)注冊(cè)CAN設(shè)備的CAN中斷處理函數(shù)s3c2410_isr_mcp2510( )。在實(shí)現(xiàn)了MCP2510的各個(gè)接口函數(shù)后,還需要編寫(xiě)MCP2510 的模塊加載函數(shù)module_init( )和模塊卸載函數(shù)module_exit( ),用于向內(nèi)核注冊(cè)設(shè)備及注銷(xiāo)設(shè)備[10]。

        3.2.3 驅(qū)動(dòng)程序的加載與使用

        Linux設(shè)備驅(qū)動(dòng)會(huì)以?xún)?nèi)核模塊的形式出現(xiàn)。Ethernet/CAN 網(wǎng)關(guān)設(shè)備驅(qū)動(dòng)程序作為內(nèi)核的一部分,應(yīng)在編譯時(shí)把設(shè)備驅(qū)動(dòng)程序編譯成可加載的模塊。當(dāng)使用insmod命令加載內(nèi)核模塊時(shí),模塊的加載函數(shù)module_init(初始化函數(shù)名)會(huì)自動(dòng)被內(nèi)核執(zhí)行,將初始化函數(shù)加入內(nèi)核全局初始化函數(shù)列表中,在內(nèi)核初始化時(shí)執(zhí)行驅(qū)動(dòng)的初始化函數(shù),從而完成驅(qū)動(dòng)的初始化和注冊(cè),之后驅(qū)動(dòng)便停止等待,被應(yīng)用程序調(diào)用。當(dāng)用rmmod 命令卸載某內(nèi)核模塊時(shí),模塊的卸載函數(shù)module_exit(退出處理函數(shù)名)也會(huì)自動(dòng)被內(nèi)核執(zhí)行,完成與模塊加載函數(shù)相反的功能。當(dāng)驅(qū)動(dòng)程序加載到內(nèi)核中后,就可將CAN設(shè)備文件進(jìn)行open,read,write,release等操作。

        4 結(jié) 語(yǔ)

        隨著工業(yè)控制系統(tǒng)性能的提高,以太網(wǎng)在工業(yè)上的應(yīng)用也會(huì)越來(lái)越廣泛。在此詳細(xì)介紹了一種嵌入式網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)。作為連接以太網(wǎng)和現(xiàn)場(chǎng)總線(xiàn)的紐帶,實(shí)現(xiàn)以太網(wǎng)與CAN現(xiàn)場(chǎng)總線(xiàn)之間的協(xié)議轉(zhuǎn)換,為CAN/Ethernet的互聯(lián)提供了一種傳輸速度快、成本低,穩(wěn)定性和安全性高的解決方案。同時(shí),利用嵌入式ARM處理器,接口資源豐富,設(shè)計(jì)通用性強(qiáng),便于擴(kuò)展其他現(xiàn)場(chǎng)總線(xiàn)與以太網(wǎng)的互聯(lián),具有較好的應(yīng)用推廣價(jià)值。

        參考文獻(xiàn)

        [1]李正軍.現(xiàn)場(chǎng)總線(xiàn)及其應(yīng)用技術(shù)[M].北京:機(jī)械工業(yè)出版社,2008.

        [2]Samsung Electronics Limited.User′s Manual of S3C2410[Z].2002.

        [3]MicroChip Technology Inc.MCP2510 data sheet.2002.

        [4]符意德,陸陽(yáng).嵌入式系統(tǒng)原理及接口技術(shù)[M].北京:清華大學(xué)出版社,2007.

        [5]羅苑棠,楊宗德.嵌入式Linux應(yīng)用系統(tǒng)開(kāi)發(fā)實(shí)例精講[M].北京:電子工業(yè)出版社,2007.

        [6]楊慶華,張景元.單片機(jī)和MCP2510 的CAN 總線(xiàn)通信模塊設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(3):35-37.

        [7]邵如峰,宋益青.基于ARM9和嵌入式Linux的CAN網(wǎng)關(guān)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008(24):15-16.

        [8]陳祖爵,周明.嵌入式Linux 下CAN 控制器的驅(qū)動(dòng)程序設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2006(11):4 097-4 100.

        [9]劉淼.嵌入式系統(tǒng)接口設(shè)計(jì)與Linux驅(qū)動(dòng)程序開(kāi)發(fā)[M].北京:北京航空航天大學(xué)出版社,2006.

        [10]宋寶華.Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解[M].北京:人民郵電出版社,2008.

        作者簡(jiǎn)介 徐 敏 男,1963年出生,福建龍巖人,副教授。主要研究方向?yàn)榍度胧郊夹g(shù)與智能控制。

        猜你喜歡
        CAN總線(xiàn)驅(qū)動(dòng)程序
        計(jì)算機(jī)硬件設(shè)備驅(qū)動(dòng)程序分析
        電子制作(2018年17期)2018-09-28 01:56:58
        論網(wǎng)絡(luò)通信技術(shù)
        基于嵌入式的汽車(chē)輔助制動(dòng)系統(tǒng)研究
        CAN總線(xiàn)通信技術(shù)在電梯監(jiān)控系統(tǒng)中的應(yīng)用
        基于CANoe的J1939協(xié)議在ECU通信中的應(yīng)用
        科技視界(2016年18期)2016-11-03 22:53:48
        商用車(chē)基于CAN總線(xiàn)的組合儀表開(kāi)發(fā)與應(yīng)用
        光纖CAN總線(xiàn)集線(xiàn)器及其組網(wǎng)研究
        驅(qū)動(dòng)程序更新與推薦
        驅(qū)動(dòng)程序更新與推薦
        如何為老顯卡安裝Windows7驅(qū)動(dòng)程序? 等
        成人免费xxxxx在线观看| 人妖与人妖免费黄色片| 网站在线观看视频一区二区| 中文字幕在线观看| av在线亚洲欧洲日产一区二区| 99热这里只有精品国产99热门精品| 黑人一区二区三区在线| 亚洲国产综合人成综合网站| 久久精品国产亚洲av香蕉| 国产高潮国产高潮久久久| 午夜免费福利一区二区无码AV | 亚洲一区二区三区影院| 欧美粗大无套gay| 日韩毛片久久91| av在线播放中文专区| 国产av一区二区精品凹凸| 精品久久久久久久中文字幕| 无码AV大香线蕉伊人久久| 曰日本一级二级三级人人| 东京热无码av一区二区| 无码AV高潮喷水无码专区线| 麻豆av一区二区天堂| 丰满人妻中文字幕一区三区| 无码人妻精品一区二区| 精品国产国产AV一区二区| 国产三级精品三级在线| 欧美精品色婷婷五月综合| 青青草原精品99久久精品66| 甲状腺囊实性结节三级| 久久精品国产亚洲av日韩一| 欧美丰满熟妇性xxxx| 奇米影视久久777中文字幕| 人成视频在线观看免费播放| 不卡一区二区黄色av| 亚洲产国偷v产偷v自拍色戒| 亚洲三级在线播放| 国产精品久久久黄色片| 最新国产精品久久精品| 日本欧美在线播放| 人妻秘书被社长浓厚接吻| 少妇被粗大的猛进出69影院 |