JP2009251771A - Dma転送装置 - Google Patents
Dma転送装置 Download PDFInfo
- Publication number
- JP2009251771A JP2009251771A JP2008096717A JP2008096717A JP2009251771A JP 2009251771 A JP2009251771 A JP 2009251771A JP 2008096717 A JP2008096717 A JP 2008096717A JP 2008096717 A JP2008096717 A JP 2008096717A JP 2009251771 A JP2009251771 A JP 2009251771A
- Authority
- JP
- Japan
- Prior art keywords
- data
- usb
- dma
- dmac
- transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Bus Control (AREA)
Abstract
【課題】CPUの負荷を増大させることなく、USB受信部がデータの受信を終了したときにDMA制御部の転送を自動的に終了させられるDMA転送装置を提供する。
【解決手段】DMAC3が、USBファンクションモジュール2から送り出される連続するデータが正規の1パケットサイズよりも小さい場合に、データのRAM14への転送を終了(アボート終了)する。
【選択図】図3
【解決手段】DMAC3が、USBファンクションモジュール2から送り出される連続するデータが正規の1パケットサイズよりも小さい場合に、データのRAM14への転送を終了(アボート終了)する。
【選択図】図3
Description
本発明は、USB(Universal Serial Bus)受信部がUSBから受信したデータをメモリに転送するDMA転送装置に関する。
USBファンクション等のUSB受信部が受信したデータをUSBファンクションからメモりに転送するのにDMA(Direct Memory Access)を用いる場合、受信データの総量が不明である場合がある。この場合、DMAC(Direct Memory Access Controler)等のDMA制御部のデータの転送量として、ハード的に用意できる大きめ値が設定され、データの転送が開始される。このため、データの受信が終了したときにDMA制御部の転送を何らかの方法で終了させる必要がある。
USB受信部がデータの受信の終了時に受信終了割り込みを出力する場合は、その受信終了割り込みを受けてDMA制御部の転送をアボート終了させる構成が採用できる。USB受信部が受信終了割り込みを発生しない場合の構成としては、CPU(Central Processing Unit)にDMA制御部の転送済みカウント値をリードさせて監視させる等の構成が考えられるが、CPUの負荷が増えるため、好ましくない。また、受信データにEOF(End Of File)等のコードが埋め込まれていないかをCPUに監視させる構成も考えられるが、この構成もCPUの負荷が増えてしまう。
なお、DMAに関する先行技術文献としては特許文献1、2がある。
特開2003−256152号公報
特開2004−214942号公報
そこで、本発明の解決すべき課題は、CPUの負荷を増大させることなく、USB受信部がデータの受信を終了したときにDMA制御部の転送を自動的に終了させられるDMA転送装置の提供である。
上記の課題を解決するため、本発明に係るDMA転送装置は、USB受信部がUSBから受信したデータをメモリに転送するDMA制御部を備え、該DMA制御部は、前記USB受信部から送り出される連続するデータが所定の1パケットサイズよりも小さい場合に、前記データの前記メモリへの転送を終了する。
また、本発明に係るDMA転送装置は、USB受信部がUSBから受信したデータをメモリに転送するDMA制御部を備え、該DMA制御部は、前記USB受信部からNULLパケット受信信号が与えられた場合に、前記データの前記メモリへの転送を終了する。
また、本発明に係るDMA転送装置は、USB受信部がUSBから受信したデータをメモリに転送するDMA制御部を備え、該DMA制御部は、前記USB受信部から送り出される連続するデータが所定の1パケットサイズよりも小さい場合、又は前記USB受信部からNULLパケット受信信号が与えられた場合に、前記データの前記メモリへの転送を終了する。
本発明によれば、DMA制御部が、USB受信部から送り出される連続するデータが所定の1パケットサイズよりも小さい場合にデータの転送を終了する。それ故、CPUが受信データの終了等を監視する必要がないため、CPUの負荷を増大させることなく、USB受信部がデータの受信を終了したときにDMA制御部の転送を自動的に終了させられる。
本発明によれば、DMA制御部が、USB受信部からNULLパケット受信信号が与えられた場合にデータの転送を終了する。それ故、CPUが受信データの終了等を監視する必要がないため、CPUの負荷を増大させることなく、USB受信部がデータの受信を終了したときにDMA制御部の転送を自動的に終了させられる。
本発明によれば、DMA制御部が、USB受信部から送り出される連続するデータが所定の1パケットサイズよりも小さい場合、又はUSB受信部からNULLパケット受信信号が与えられた場合にデータの転送を終了する。それ故、CPUが受信データの終了等を監視する必要がないため、CPUの負荷を増大させることなく、USB受信部がデータの受信を終了したときにDMA制御部の転送を自動的に終了させられる。
図1は本発明の第1実施形態に係るDMA転送装置のブロック図であり、図2は図1の構成におけるリクエスト(REQ:Request)とDMACの終了タイミングに関するタイミングチャートであり、図3は図1のDMA転送装置のDMACの動作を示すフローチャートである。
本実施形態に係るDMA転送装置1は、図1に示すように、USB受信部としてのUSBファンクションモジュール(以下、単に「モジュール」という)2と、DMA転送制御部としてのDMAC3と、メモリコントローラ4とを備える。モジュール2、DMAC3及びメモリコントローラ4は、バス12によって接続されている。このバス12には、CPU13も接続されている。
モジュール2は、図示しない外部の送信側のモジュールからUSBケーブル11を介して与えられるデータを受信し、そのデータをバス12を介してDMAC3に送り出す。DMAC3は、モジュール2から送り出されたデータを、メモリコントローラ4を介してメモリとしてのRAM(Random Access Memory)14に転送する。メモリコントローラ4は、バス12を介して転送されてきたデータをRAM14に書き込む。
このDMA転送装置1では、モジュール2がUSBケーブル11から受信するデータの総量が不明であるため、DMAC3のデータの転送量として、ハード的に用意できる大きめ値が設定され、データの転送が開始される。
ここで、USBケーブル11を介して伝送されるデータの正規の1パケットサイズは規格により所定のサイズに決められており、例えば、High-speed(480Mbit/sec)接続時には1パケット分の512byteのデータが連続して送られてくる。また、Full-speed(12Mbit/sec)接続時には、1パケット分の64byteのデータが連続して送られてくる。
このため、図2の上段のタイミングチャートに示すように、受信データの最後から2つ目のパケットまでは、各パケットの連続するデータの量がモジュール2の接続速度に応じた正規の1パケットサイズ(図2及び図3の例では、512byte)になっている。これに対し、最後のパケットでは、連続するデータの量が正規の1パケットサイズよりも小さい値((図2の例では、320byte)になっている。
そこで、本実施形態では、DMAC3が、図2の下段のタイミングチャートに示すように、モジュール2から送り出される連続するデータが正規の1パケットサイズよりも小さい場合に、データのRAM14への転送を終了(アボート終了)する。なお、連続するデータの量は、例えばDMAC3に備えられる転送カウンタのカウント値を参照すること等により分かる。
次に、図3を参照してDMAC3の動作の手順を説明する。図3に示すように、モジュール2のデータの受信の開始時に、ステップS1にてDMAC3のデータの転送量等が設定される。このとき、上記の如く、転送量としてハード的に用意できる大きめ値が設定される。
ステップS2では、モジュール2からリクエストが与えられるのに応じて、DMAC3がデータをRAM14に転送する。ステップS3では、DMAC3が、モジュール2から送り出される連続するデータの量が正規の1パケットサイズ(例えば、512byte)であるか否かを判断する。連続するデータの量が正規の1パケットサイズである場合には、ステップS2に戻り、モジュール2からショートパケットが送り出されるまでステップS2,S3の処理が繰り返される。
一方、連続するデータの量が正規の1パケットサイズよりも小さい場合(ショートパケットの場合)には、ステップS4にて、DMAC3によりそのパケットがショートパケットであると判断される。そして、ステップS5にて、DMAC3がデータの転送を終了(アボート終了)し、終了割り込みを発生する。これによって、モジュール2の受信終了に伴って、DMAC3がデータの転送を終了する。
このような構成により、CPU13がモジュール2のデータの受信の終了等を監視する必要がないため、CPU13の負荷を増大させることなく、モジュール2がデータの受信を終了したときにDMAC3の転送を自動的に終了させられる。
図4は本発明の第2実施形態に係るDMA転送装置におけるリクエスト、NULLパケット及びDMACの終了タイミングに関するタイミングチャートであり、図5は本発明の第2実施形態に係るDMA転送装置のDMACの動作を示すフローチャートである。なお、本実施形態に係るDMA転送装置1が上述の第1実施形態に係るDMA転送装置1と実質的に異なっている点は、DMAC3の終了の方法に関する点のみであり、互いに対応する部分には同一の参照符号を用い、説明の重複を回避する。
上述の第1実施形態に係るDMA転送装置1では、DMAC3がショートパケットを検知して転送を終了するのであるが、最後のパケットのデータの量が正規の1パケットサイズと丁度一致してる場合には、ショートパケットが発生しない。
その対策として、本実施形態に係るDMA転送装置1では、モジュール2からNULLパケット受信信号が与えられた場合にDMAC3がデータの転送を終了する。
より詳細には、モジュール2は、図4の上段のタイミングチャートに示すように、パケットを順次受信していき、その最後にNULLパケットを受信したときに、NULLパケット受信信号をバス12を介して出力する(図4の中段のタイミングチャート参照)。そこで、本実施形態では、このNULLパケット受信信号に応じて、DMAC3がデータの転送を終了(アボート終了)する(図4の下段のタイミングチャート)。
次に、図5を参照してDMAC3の動作の手順を説明する。図5に示すように、モジュール2のデータの受信の開始時に、ステップS11にてDMAC3のデータの転送量等が設定される。このとき、上記の如く、転送量としてハード的に用意できる大きめ値が設定される。
ステップS12でモジュール2からリクエストが与えられた場合には、ステップS13でDMAC3がデータをRAM14に転送し、ステップS12に戻る。そして、モジュール2からNULLパケット受信信号が与えられるまでステップS12,S13の処理が繰り返される。
一方、ステップS12でモジュール2からNULLパケット受信信号が与えられた場合には、ステップS14で、DMAC3がデータの転送を終了(アボート終了)し、終了割り込みを発生する。これによって、モジュール2の受信終了に伴って、DMAC3がデータの転送を終了する。
このような構成により、本実施形態においても、上述の第1実施形態とほぼ同様な効果が得られるとともに、モジュール2の受信データの最後がNULLパケットである場合に、DMAC3の転送を終了させられる。
なお、上述の第1及び第2実施形態に係る構成を組み合わせて1つのDMA転送装置1を構成してもよい。この場合、DMAC3は、モジュール2から与えられる連続したデータの量が正規の1パケットサイズよりも小さい場合、あるいは、モジュール2からNULLパケット受信信号が与えられた場合に、データの転送を終了する。
1 DMA転送装置
2 USBファンクションモジュール
3 DMAC
11 USB
13 CPU
14 RAM
2 USBファンクションモジュール
3 DMAC
11 USB
13 CPU
14 RAM
Claims (3)
- USB受信部がUSBから受信したデータをメモリに転送するDMA制御部を備え、該DMA制御部は、前記USB受信部から送り出される連続するデータが所定の1パケットサイズよりも小さい場合に、前記データの前記メモリへの転送を終了することを特徴とするDMA転送装置。
- USB受信部がUSBから受信したデータをメモリに転送するDMA制御部を備え、該DMA制御部は、前記USB受信部からNULLパケット受信信号が与えられた場合に、前記データの前記メモリへの転送を終了することを特徴とするDMA転送装置。
- USB受信部がUSBから受信したデータをメモリに転送するDMA制御部を備え、該DMA制御部は、前記USB受信部から送り出される連続するデータが所定の1パケットサイズよりも小さい場合、又は前記USB受信部からNULLパケット受信信号が与えられた場合に、前記データの前記メモリへの転送を終了することを特徴とするDMA転送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008096717A JP2009251771A (ja) | 2008-04-03 | 2008-04-03 | Dma転送装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008096717A JP2009251771A (ja) | 2008-04-03 | 2008-04-03 | Dma転送装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009251771A true JP2009251771A (ja) | 2009-10-29 |
Family
ID=41312449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008096717A Pending JP2009251771A (ja) | 2008-04-03 | 2008-04-03 | Dma転送装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009251771A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294622A (zh) * | 2012-02-24 | 2013-09-11 | 联想(北京)有限公司 | 数字处理设备、混合式架构系统及内存访问方法 |
JP2017010122A (ja) * | 2015-06-17 | 2017-01-12 | セイコーエプソン株式会社 | 印刷システム、印刷装置、印刷システムの制御方法および印刷装置の制御方法 |
-
2008
- 2008-04-03 JP JP2008096717A patent/JP2009251771A/ja active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294622A (zh) * | 2012-02-24 | 2013-09-11 | 联想(北京)有限公司 | 数字处理设备、混合式架构系统及内存访问方法 |
JP2017010122A (ja) * | 2015-06-17 | 2017-01-12 | セイコーエプソン株式会社 | 印刷システム、印刷装置、印刷システムの制御方法および印刷装置の制御方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200167304A1 (en) | Methods and devices for extending usb 3.0-compliant communication over an extension medium | |
JP2004334417A (ja) | データ転送制御装置、電子機器及びデータ転送制御方法 | |
US10037297B2 (en) | Method of extending range of USB transmission for isochronous transfer | |
JP2014035628A5 (ja) | ||
JP2002342260A (ja) | Usb送信制御回路およびその制御方法 | |
US20160077986A1 (en) | Electronic apparatus providing real-time switching and sharing of usb electronic devices among hosts | |
JP2009251771A (ja) | Dma転送装置 | |
US6889265B2 (en) | Apparatus and method to allow and synchronize schedule changes in a USB enhanced host controller | |
EP3809273A1 (en) | System, apparatus and method for peer-to-peer communication on a multi-drop interconnect | |
US7428600B2 (en) | Data transfer control device, electronic equipment, and data transfer control method | |
JP2013143653A (ja) | 情報処理装置、情報処理方法 | |
US8842547B2 (en) | Communication control apparatus and control method | |
JP6090751B2 (ja) | デバイスサーバとその制御方法 | |
JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
JP5440105B2 (ja) | 画像処理システム、画像処理装置、データ転送制御方法、プログラム及び記録媒体 | |
JP6542513B2 (ja) | Usb転送装置、usb転送システムおよびusb転送方法 | |
KR100514748B1 (ko) | 범용 직렬 버스의 프레임 시작 신호를 이용한 직접 메모리엑세스 방법 및 장치 | |
JP2004334840A (ja) | システムバスの制御方法及び関連装置 | |
JP5482472B2 (ja) | データ転送装置およびデータ転送方法 | |
JP2602975B2 (ja) | 調歩同期式通信における受信制御装置 | |
JP2010154329A (ja) | Ieee1394通信lsiおよびアシンクロナス送信方法 | |
JP2004355543A (ja) | 情報処理装置および割り込み通知方法 | |
JP2002259324A (ja) | データ処理装置 | |
JP5318080B2 (ja) | データ処理装置 | |
JP3797549B2 (ja) | バス制御方法 |