資料介紹
引言
Intel公司推出的XScale采用ARM V5TE結(jié)構(gòu),是Strong ARM的升級(jí)換代產(chǎn)品。XScale PXA270處理器最高主頻可達(dá)624 MHz,加入了Wireless MMX、Intel SpeedStep等新技術(shù),以其高性能、低功耗、多功能等特點(diǎn)在信息家電、工業(yè)控制等領(lǐng)域得到了廣泛的應(yīng)用。在嵌入式控制中,“微處理器+FPGA”是一種常用的解決方案。FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)有編程方便、集成度高、速度快等特點(diǎn),電子設(shè)計(jì)人員可以通過(guò)硬件編程的方法來(lái)實(shí)現(xiàn)FPGA芯片各種功能的開(kāi)發(fā)。在我們的一個(gè)數(shù)控平臺(tái)的研究項(xiàng)目中,采用XScale PXA270作為主CPU,并對(duì)其進(jìn)行FPGA擴(kuò)展,使其具有插補(bǔ)、電機(jī)驅(qū)動(dòng)、信號(hào)處理、I/O口擴(kuò)展的功能。Linux以其內(nèi)核精練、高效,源代碼開(kāi)放且免費(fèi)等優(yōu)勢(shì),在嵌入式領(lǐng)域得到了廣泛的應(yīng)用。下面以Intel XScale PXA270上的Altera FLEX/ACEX的應(yīng)用為例,詳細(xì)介紹Linux下FPGA設(shè)備驅(qū)動(dòng)的實(shí)現(xiàn)。
1 Altera FLEX/ACEX芯片結(jié)構(gòu)
Altera FLEX/ACEX芯片是基于查找表LUT(LookUpTable)原理而實(shí)現(xiàn)的。LUT本質(zhì)上就是一個(gè)RAM。目前FPGA中多使用4輸入的 LUT,所以每個(gè)LUT可以看成一個(gè)有4位地址線的16×1的RAM。當(dāng)用戶通過(guò)原理圖或HDL語(yǔ)言描述一個(gè)邏輯電路以后,F(xiàn)PGA開(kāi)發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫(xiě)入RAM。這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。由于LUT主要適合SRAM工藝生產(chǎn),所以目前大部分FPGA都是基于SRAM工藝的,而SRAM工藝的芯片在掉電后信息就會(huì)丟失,一定要外加1片專用配置芯片(本實(shí)驗(yàn)電路使用Altera EPC2LC20)。在上電時(shí),由這個(gè)專用配置芯片把數(shù)據(jù)加載到FPGA中,然后FPGA即可正常工作。由于配置時(shí)間很短,因此不會(huì)影響系統(tǒng)正常工作。在使用ACEX1K50之前,應(yīng)對(duì)其進(jìn)行設(shè)計(jì)編程,實(shí)現(xiàn)相應(yīng)寄存器及I/O口的功能。有關(guān)FPGA的詳細(xì)內(nèi)容請(qǐng)參閱相關(guān)資料。
2 Intel XScale PXA270處理器的系統(tǒng)存儲(chǔ)器接口
PXA270處理器的可編程靜態(tài)存儲(chǔ)體系結(jié)構(gòu)如圖1所示。
圖1 PXA270靜態(tài)存儲(chǔ)體系結(jié)構(gòu)
在系統(tǒng)上, ACEX1K50位于nCS《2》上,物理地址0x8000000~0x8001000共4K的靜態(tài)地址空間。圖2表示了Intel XScale PXA270與ACEX1K50的硬件連接關(guān)系。
圖2 Intel XScale PXA270與ACEX1K50的硬件連接
3 Linux下ACEX1K50設(shè)備驅(qū)動(dòng)的實(shí)現(xiàn)
3.1 Linux下設(shè)備驅(qū)動(dòng)基本原理
設(shè)備驅(qū)動(dòng)程序是應(yīng)用程序與硬件之間的一個(gè)中間軟件層,設(shè)備驅(qū)動(dòng)程序?yàn)閼?yīng)用程序屏蔽了硬件的細(xì)節(jié)。這樣在應(yīng)用程序看來(lái),硬件設(shè)備只是一個(gè)設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對(duì)硬件設(shè)備進(jìn)行操作。設(shè)備驅(qū)動(dòng)程序是內(nèi)核的一部分,它主要實(shí)現(xiàn)的功能有:對(duì)設(shè)備進(jìn)行初始化和釋放;把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù);讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù),回送應(yīng)用程序請(qǐng)求的數(shù)據(jù)以及檢測(cè)和處理設(shè)備出現(xiàn)的錯(cuò)誤。
Linux將設(shè)備分為最基本的兩大類:一類是字符設(shè)備;另一類是塊設(shè)備。字符設(shè)備和塊設(shè)備的主要區(qū)別在于是否使用了緩沖技術(shù)。字符設(shè)備以單個(gè)字節(jié)為單位進(jìn)行順序讀/寫(xiě)操作,通常不使用緩沖技術(shù);塊設(shè)備為了提高效率,利用一塊系統(tǒng)內(nèi)存作為讀/寫(xiě)操作的緩沖區(qū),由于涉及緩沖區(qū)管理、調(diào)度和同步等問(wèn)題,實(shí)現(xiàn)起來(lái)比字符設(shè)備復(fù)雜得多。
Linux通過(guò)設(shè)備文件系統(tǒng)對(duì)設(shè)備進(jìn)行管理,各種設(shè)備都以文件的形式存放在/dev目錄下,稱為“設(shè)備文件”。應(yīng)用程序可以像普通文件一樣打開(kāi)、關(guān)閉和讀/寫(xiě)這些設(shè)備文件。為了管理這些設(shè)備,系統(tǒng)為設(shè)備編了號(hào),每個(gè)設(shè)備號(hào)又分為主設(shè)備號(hào)和次設(shè)備號(hào)。主設(shè)備號(hào)用來(lái)區(qū)分不同種類的設(shè)備,而次設(shè)備號(hào)用來(lái)區(qū)分同一類型的多個(gè)設(shè)備。Linux為所有的設(shè)備文件都提供了統(tǒng)一的操作函數(shù)接口,方法是使用數(shù)據(jù)結(jié)構(gòu)struct file_operations。這個(gè)數(shù)據(jù)結(jié)構(gòu)中包括許多操作函數(shù)的指針,如open()、close()、read()和write()等,但由于外設(shè)的種類較多,操作方式各不相同。struct file_operations結(jié)構(gòu)體中的成員為一系列的接口函數(shù),如用于讀/寫(xiě)的read/write函數(shù)和用于控制的ioctl等。打開(kāi)一個(gè)文件就是調(diào)用這個(gè)文件file_operations中的open操作。不同類型的文件(如普通的磁盤(pán)數(shù)據(jù)文件)有不同的file_operations成員函數(shù),接口函數(shù)完成磁盤(pán)數(shù)據(jù)塊讀/寫(xiě)操作;而對(duì)于各種設(shè)備文件,則最終調(diào)用各自驅(qū)動(dòng)程序中的I/O函數(shù)進(jìn)行具體設(shè)備的操作。這樣,應(yīng)用程序根本不必考慮操作的是設(shè)備還是普通文件,可一律當(dāng)作文件處理,具有非常清晰、統(tǒng)一的I/O接口,所以file_operations是文件層次的I/O接口。
3.2 ACEX1K50在Linux下設(shè)備驅(qū)動(dòng)的實(shí)現(xiàn)
在驅(qū)動(dòng)程序中使用內(nèi)存映射可以提供給用戶程序直接訪問(wèn)設(shè)備內(nèi)存的能力。使用內(nèi)存映射的好處是處理大文件時(shí)速度明顯快于標(biāo)準(zhǔn)文件I/O,無(wú)論讀/寫(xiě),都少了一次用戶空間與內(nèi)核空間之間的復(fù)制。在用戶空間對(duì)ACEX1K50 FPGA設(shè)備的訪問(wèn)是通過(guò)內(nèi)存映射來(lái)實(shí)現(xiàn)的。
ACEX1K50可以看作是硬件連接在PXA270微處理器的nCS《2》上的一段物理地址來(lái)尋址。因?yàn)橛刑摂M內(nèi)存管理單元,所以如果在Linux下,必須先把物理地址映射到虛擬地址空間,然后才能對(duì)該段地址進(jìn)行讀/寫(xiě)。
Intel公司推出的XScale采用ARM V5TE結(jié)構(gòu),是Strong ARM的升級(jí)換代產(chǎn)品。XScale PXA270處理器最高主頻可達(dá)624 MHz,加入了Wireless MMX、Intel SpeedStep等新技術(shù),以其高性能、低功耗、多功能等特點(diǎn)在信息家電、工業(yè)控制等領(lǐng)域得到了廣泛的應(yīng)用。在嵌入式控制中,“微處理器+FPGA”是一種常用的解決方案。FPGA(現(xiàn)場(chǎng)可編程門(mén)陣列)有編程方便、集成度高、速度快等特點(diǎn),電子設(shè)計(jì)人員可以通過(guò)硬件編程的方法來(lái)實(shí)現(xiàn)FPGA芯片各種功能的開(kāi)發(fā)。在我們的一個(gè)數(shù)控平臺(tái)的研究項(xiàng)目中,采用XScale PXA270作為主CPU,并對(duì)其進(jìn)行FPGA擴(kuò)展,使其具有插補(bǔ)、電機(jī)驅(qū)動(dòng)、信號(hào)處理、I/O口擴(kuò)展的功能。Linux以其內(nèi)核精練、高效,源代碼開(kāi)放且免費(fèi)等優(yōu)勢(shì),在嵌入式領(lǐng)域得到了廣泛的應(yīng)用。下面以Intel XScale PXA270上的Altera FLEX/ACEX的應(yīng)用為例,詳細(xì)介紹Linux下FPGA設(shè)備驅(qū)動(dòng)的實(shí)現(xiàn)。
1 Altera FLEX/ACEX芯片結(jié)構(gòu)
Altera FLEX/ACEX芯片是基于查找表LUT(LookUpTable)原理而實(shí)現(xiàn)的。LUT本質(zhì)上就是一個(gè)RAM。目前FPGA中多使用4輸入的 LUT,所以每個(gè)LUT可以看成一個(gè)有4位地址線的16×1的RAM。當(dāng)用戶通過(guò)原理圖或HDL語(yǔ)言描述一個(gè)邏輯電路以后,F(xiàn)PGA開(kāi)發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫(xiě)入RAM。這樣,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。由于LUT主要適合SRAM工藝生產(chǎn),所以目前大部分FPGA都是基于SRAM工藝的,而SRAM工藝的芯片在掉電后信息就會(huì)丟失,一定要外加1片專用配置芯片(本實(shí)驗(yàn)電路使用Altera EPC2LC20)。在上電時(shí),由這個(gè)專用配置芯片把數(shù)據(jù)加載到FPGA中,然后FPGA即可正常工作。由于配置時(shí)間很短,因此不會(huì)影響系統(tǒng)正常工作。在使用ACEX1K50之前,應(yīng)對(duì)其進(jìn)行設(shè)計(jì)編程,實(shí)現(xiàn)相應(yīng)寄存器及I/O口的功能。有關(guān)FPGA的詳細(xì)內(nèi)容請(qǐng)參閱相關(guān)資料。
2 Intel XScale PXA270處理器的系統(tǒng)存儲(chǔ)器接口
PXA270處理器的可編程靜態(tài)存儲(chǔ)體系結(jié)構(gòu)如圖1所示。
圖1 PXA270靜態(tài)存儲(chǔ)體系結(jié)構(gòu)
在系統(tǒng)上, ACEX1K50位于nCS《2》上,物理地址0x8000000~0x8001000共4K的靜態(tài)地址空間。圖2表示了Intel XScale PXA270與ACEX1K50的硬件連接關(guān)系。
圖2 Intel XScale PXA270與ACEX1K50的硬件連接
3 Linux下ACEX1K50設(shè)備驅(qū)動(dòng)的實(shí)現(xiàn)
3.1 Linux下設(shè)備驅(qū)動(dòng)基本原理
設(shè)備驅(qū)動(dòng)程序是應(yīng)用程序與硬件之間的一個(gè)中間軟件層,設(shè)備驅(qū)動(dòng)程序?yàn)閼?yīng)用程序屏蔽了硬件的細(xì)節(jié)。這樣在應(yīng)用程序看來(lái),硬件設(shè)備只是一個(gè)設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對(duì)硬件設(shè)備進(jìn)行操作。設(shè)備驅(qū)動(dòng)程序是內(nèi)核的一部分,它主要實(shí)現(xiàn)的功能有:對(duì)設(shè)備進(jìn)行初始化和釋放;把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù);讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù),回送應(yīng)用程序請(qǐng)求的數(shù)據(jù)以及檢測(cè)和處理設(shè)備出現(xiàn)的錯(cuò)誤。
Linux將設(shè)備分為最基本的兩大類:一類是字符設(shè)備;另一類是塊設(shè)備。字符設(shè)備和塊設(shè)備的主要區(qū)別在于是否使用了緩沖技術(shù)。字符設(shè)備以單個(gè)字節(jié)為單位進(jìn)行順序讀/寫(xiě)操作,通常不使用緩沖技術(shù);塊設(shè)備為了提高效率,利用一塊系統(tǒng)內(nèi)存作為讀/寫(xiě)操作的緩沖區(qū),由于涉及緩沖區(qū)管理、調(diào)度和同步等問(wèn)題,實(shí)現(xiàn)起來(lái)比字符設(shè)備復(fù)雜得多。
Linux通過(guò)設(shè)備文件系統(tǒng)對(duì)設(shè)備進(jìn)行管理,各種設(shè)備都以文件的形式存放在/dev目錄下,稱為“設(shè)備文件”。應(yīng)用程序可以像普通文件一樣打開(kāi)、關(guān)閉和讀/寫(xiě)這些設(shè)備文件。為了管理這些設(shè)備,系統(tǒng)為設(shè)備編了號(hào),每個(gè)設(shè)備號(hào)又分為主設(shè)備號(hào)和次設(shè)備號(hào)。主設(shè)備號(hào)用來(lái)區(qū)分不同種類的設(shè)備,而次設(shè)備號(hào)用來(lái)區(qū)分同一類型的多個(gè)設(shè)備。Linux為所有的設(shè)備文件都提供了統(tǒng)一的操作函數(shù)接口,方法是使用數(shù)據(jù)結(jié)構(gòu)struct file_operations。這個(gè)數(shù)據(jù)結(jié)構(gòu)中包括許多操作函數(shù)的指針,如open()、close()、read()和write()等,但由于外設(shè)的種類較多,操作方式各不相同。struct file_operations結(jié)構(gòu)體中的成員為一系列的接口函數(shù),如用于讀/寫(xiě)的read/write函數(shù)和用于控制的ioctl等。打開(kāi)一個(gè)文件就是調(diào)用這個(gè)文件file_operations中的open操作。不同類型的文件(如普通的磁盤(pán)數(shù)據(jù)文件)有不同的file_operations成員函數(shù),接口函數(shù)完成磁盤(pán)數(shù)據(jù)塊讀/寫(xiě)操作;而對(duì)于各種設(shè)備文件,則最終調(diào)用各自驅(qū)動(dòng)程序中的I/O函數(shù)進(jìn)行具體設(shè)備的操作。這樣,應(yīng)用程序根本不必考慮操作的是設(shè)備還是普通文件,可一律當(dāng)作文件處理,具有非常清晰、統(tǒng)一的I/O接口,所以file_operations是文件層次的I/O接口。
3.2 ACEX1K50在Linux下設(shè)備驅(qū)動(dòng)的實(shí)現(xiàn)
在驅(qū)動(dòng)程序中使用內(nèi)存映射可以提供給用戶程序直接訪問(wèn)設(shè)備內(nèi)存的能力。使用內(nèi)存映射的好處是處理大文件時(shí)速度明顯快于標(biāo)準(zhǔn)文件I/O,無(wú)論讀/寫(xiě),都少了一次用戶空間與內(nèi)核空間之間的復(fù)制。在用戶空間對(duì)ACEX1K50 FPGA設(shè)備的訪問(wèn)是通過(guò)內(nèi)存映射來(lái)實(shí)現(xiàn)的。
ACEX1K50可以看作是硬件連接在PXA270微處理器的nCS《2》上的一段物理地址來(lái)尋址。因?yàn)橛刑摂M內(nèi)存管理單元,所以如果在Linux下,必須先把物理地址映射到虛擬地址空間,然后才能對(duì)該段地址進(jìn)行讀/寫(xiě)。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 如何在Linux環(huán)境下實(shí)現(xiàn)Python環(huán)境的搭建 14次下載
- 基于Linux下的LCD驅(qū)動(dòng)程序實(shí)現(xiàn) 12次下載
- 《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第8章、Linux設(shè)備驅(qū)動(dòng)中的阻塞與非阻塞IO 9次下載
- 《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第9章、Linux設(shè)備驅(qū)動(dòng)中的異步通知與異步IO 0次下載
- 《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第13章、Linux塊設(shè)備驅(qū)動(dòng) 18次下載
- 《Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)詳解》第16章、Linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng) 5次下載
- ARM-Linux-IIC設(shè)備的添加與驅(qū)動(dòng)實(shí)現(xiàn) 57次下載
- 嵌入式Linux字符設(shè)備驅(qū)動(dòng)的設(shè)計(jì)與應(yīng)用
- PCI總線協(xié)議的FPGA實(shí)現(xiàn)及驅(qū)動(dòng)設(shè)計(jì)
- 嵌入式Linux字符設(shè)備驅(qū)動(dòng)的設(shè)計(jì)與應(yīng)用
- Linux環(huán)境下USB的原理、驅(qū)動(dòng)和配置
- Linux系統(tǒng)下CAN總線通信的設(shè)計(jì)及實(shí)現(xiàn)
- Linux系統(tǒng)PCI設(shè)備驅(qū)動(dòng)程序開(kāi)發(fā)
- 基于嵌入式Linux系統(tǒng)的LCD驅(qū)動(dòng)實(shí)現(xiàn)Implementa
- 嵌入式Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)
- Linux內(nèi)核驅(qū)動(dòng)與單個(gè)PCI設(shè)備的綁定和解綁定 1299次閱讀
- 一文總結(jié)linux的platform驅(qū)動(dòng) 783次閱讀
- 如何寫(xiě)一個(gè)Linux設(shè)備驅(qū)動(dòng)程序 4314次閱讀
- Linux設(shè)備驅(qū)動(dòng)開(kāi)發(fā)的基本知識(shí) 4260次閱讀
- 米爾科技Linux設(shè)備驅(qū)動(dòng)研究淺談 1913次閱讀
- 米爾科技LINUX設(shè)備驅(qū)動(dòng)程序教程 1965次閱讀
- 基于PXA255開(kāi)發(fā)板外圍字符設(shè)備的嵌入式Linux字符設(shè)備驅(qū)動(dòng)設(shè)計(jì)與應(yīng)用 1138次閱讀
- 基于嵌入式Linux下的I2C設(shè)備驅(qū)動(dòng)的總體思路與框架設(shè)計(jì) 3671次閱讀
- 可動(dòng)態(tài)安裝的Linux設(shè)備驅(qū)動(dòng)程序 957次閱讀
- linux環(huán)境下如何開(kāi)發(fā)51單片機(jī) 基于codeblocks和SDCC 4429次閱讀
- 想要駕馭Linux驅(qū)動(dòng)開(kāi)發(fā),必須深刻理解Linux總線設(shè)備驅(qū)動(dòng)框架 1w次閱讀
- 基于FPGA的嵌入式Linux操作系統(tǒng)解決方案 6026次閱讀
- 基于FPGA嵌入式系統(tǒng)的設(shè)備驅(qū)動(dòng)開(kāi)發(fā) 2259次閱讀
- 手把手教你創(chuàng)建Linux設(shè)備驅(qū)動(dòng)和應(yīng)用程序 4361次閱讀
- 關(guān)于Linux設(shè)備驅(qū)動(dòng)中input子系統(tǒng)的介紹 2663次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開(kāi)關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開(kāi)發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多