world leader in high performance signal processing
Trace:

Differences

This shows you the differences between two versions of the page.

hw:cards:usb_ez-extender [2007/04/24 01:20]
rgetz
hw:cards:usb_ez-extender [2012/06/04 20:25] (current)
rob [Test USB Mass Storage]
Line 5: Line 5:
  
 ===== Description ===== ===== Description =====
-This USB Card is designed for stamp board. Which has two USB chips on it: one is SL811HS and another is ISP1362. The SL811HS is an Embedded USB Host/Slave Controller capable of communicating in either full speed (12 Mbps) or low-speed (1.5 Mbps). SL811HS can work in two modes—host or slave, but is not On The Go (OTG). Data sheet can be found at [[http://www.cypress.com/portal/server.pt?space=CommunityPage&control=SetCommunity&CommunityID=209&PageID=259&fid=10&rpn=SL811HS|here]]. To purchase the board, go [[buy stuff]].+This USB Card is designed for stamp board. Which has two USB chips on it: one is SL811HS and another is ISP1362. The SL811HS is an Embedded USB Host/Slave Controller capable of communicating in either full speed (12 Mbps) or low-speed (1.5 Mbps). SL811HS can work in two modes—host or slave, but is not On The Go (OTG). Data sheet can be found at [[http://www.cypress.com/portal/server.pt?space=CommunityPage&control=SetCommunity&CommunityID=209&PageID=259&fid=10&rpn=SL811HS|here]]. To purchase the board, go [[:buy_stuff]].
  
 The Philips ISP1362 which is a single-chip Universal Serial Bus (USB) On-The-Go (OTG) controller integrated with an Slave Host Controller. It has two USB ports: port 1 and port 2. Port 1 can be hardware configured to function as a downstream port, an upstream port or an OTG port whereas port 2 can only be used as a downstream port. The OTG port can switch roles from host to peripheral, or from peripheral to host. The OTG port can become a host through the Host Negotiation Protocol (HNP) as specified in the OTG supplement. You can find more information [[http://www.semiconductors.philips.com/pip/ISP1362EE.html|here]]. The Philips ISP1362 which is a single-chip Universal Serial Bus (USB) On-The-Go (OTG) controller integrated with an Slave Host Controller. It has two USB ports: port 1 and port 2. Port 1 can be hardware configured to function as a downstream port, an upstream port or an OTG port whereas port 2 can only be used as a downstream port. The OTG port can switch roles from host to peripheral, or from peripheral to host. The OTG port can become a host through the Host Negotiation Protocol (HNP) as specified in the OTG supplement. You can find more information [[http://www.semiconductors.philips.com/pip/ISP1362EE.html|here]].
  
-You can get the USB card's schematic and PCM layout [[http://blackfin.uclinux.org/frs/?group_id=7&release_id=262|here]].+You can get the USB card's schematic and PCM layout [[bf>project/stamp/frs/?action=FrsReleaseBrowse&frs_package_id=65|here]].
  
 <note important>Currently only the host side drivers are supported for ISP1362 and SL811HS.</note> <note important>Currently only the host side drivers are supported for ISP1362 and SL811HS.</note>
Line 15: Line 15:
  
 ===== Jumpers setting on USB Add-on Card ===== ===== Jumpers setting on USB Add-on Card =====
-<note important>The reason why there is no information for the 561-EZKit, is that it is not expected to work</note>.+<note important>The reason why there is no information for the BF561-EZKit, is that it is not expected to work.</note>
  
 Set J3 to choose a PF pin as interrupt for ISP1362. Set J5 to choose a PF pin as interrupt for SL811HS. Jumpers on J3 and J5 are divided into two category, one is for BF533 stamp board, another is for BF537 stamp board. The setting should be concurrent with the kernel configuration. Don't select the same pair of pins for ISP1362 and SL811HS. Set J3 to choose a PF pin as interrupt for ISP1362. Set J5 to choose a PF pin as interrupt for SL811HS. Jumpers on J3 and J5 are divided into two category, one is for BF533 stamp board, another is for BF537 stamp board. The setting should be concurrent with the kernel configuration. Don't select the same pair of pins for ISP1362 and SL811HS.
Line 28: Line 28:
 | 9-10 | PF15 | | 9-10 | PF15 |
  
-In order to make BF533 to work with USB-LAN extender, the CPLD on BF533-Stamp Board need to be reprogrammed. For how to reprogram CPLD, please refer to [[CPLD programming]]. The CPLD file is {{stamp_cpld_asm3.zip}}.  In addition, to use the USB-LAN with the BF533 you have to populate the U-connector.  +In order to make BF533 to work with USB-LAN extender, the CPLD on BF533-Stamp Board need to be reprogrammed. For how to reprogram CPLD, please refer to [[cpld_programming]]. The CPLD file is {{stamp_cpld_asm3.zip}}.  In addition, to use the USB-LAN with the BF533 you have to populate the U-connector.  
  
 ==== Settings for BF537-STAMP ==== ==== Settings for BF537-STAMP ====
Line 50: Line 50:
  
  
-===== Linux Kernel Configuration ===== + 
-Configure asynchronous memory.+ 
 +===== Linux Kernel Configuration ISP1362 / SL811 ===== 
 +Configure asynchronous memory for **ISP1362**
   Blackfin Processor Options --->   Blackfin Processor Options --->
         --- Asynchronous Memory Configuration         --- Asynchronous Memory Configuration
             EBIU_AMBCTL Control  --->             EBIU_AMBCTL Control  --->
                     (0xAAC2) Bank 3                     (0xAAC2) Bank 3
 +
 +Configure asynchronous memory for **SL811HS**
 +  Blackfin Processor Options --->
 +        --- Asynchronous Memory Configuration
 +            EBIU_AMBCTL Control  --->
 +                    (0xCCC0) Bank 3
 +
 +<note tip>
 +   In order to run Blackfin SCLK > 80MHz, additional bus cycles needs to
 +   be introduced between two successive bus accesses. The SL811 requires
 +   85ns between /CS inactive and /CS active. This is achieved by doing a
 +   dummy read from a different memory bank before each bus access.
 +   Depending on how fast you run SCLK the total memory number of cycles
 +   that needs to be introduced by the dummy access ranges form 3-5 cycles.
 +</note>
 +
 +In case you selected BANK2 for dummy accesses:
 +  Blackfin Processor Options --->
 +        --- Asynchronous Memory Configuration
 +            EBIU_AMBCTL Control  --->
 +                    (0x22A4) Bank 2 
  
 Configure USB Host Configure USB Host
Line 65: Line 88:
       (54)  GPIO for Interrupt       (54)  GPIO for Interrupt
  
-Bellow setting are based on the usb device you are going to use:+===== USB HID devices ===== 
 +To use a HID device like USB keyboard, or USB mouse, enable:
  
-  * To use USB Mass Storage device, like a USB flash disk, select:+   USB support  ---> 
 +      <*> USB Human Interface Device (full HID) support 
 +      [*]   HID input layer support 
 +   Input device support ---> 
 +       <*> Generic input layer (needed for keyboard, mouse, ...) 
 +       <*> Mouse interface 
 +       (1024) Horizontal screen resolution 
 +       (768) Vertical screen resolution 
 +       <*> Event interface 
 +       [*] Keyboards ---> 
 +       [*] Mouse ---> 
 + 
 +===== Test USB Mass Storage ===== 
 +To use USB Mass Storage device, like a USB flash disk, select:
  
    USB support  --->    USB support  --->
Line 86: Line 123:
        <*>   Codepage 437 (United States, Canada)        <*>   Codepage 437 (United States, Canada)
        <*>   NLS ISO 8859-1  (Latin 1; Western European Languages)        <*>   NLS ISO 8859-1  (Latin 1; Western European Languages)
 +In the case you encounter no scsi->sda assignments in the boot log, you should try to activate '''USB runtime power management and wakeup'''.
  
-  * To use USB HID devices 
- 
-   USB support  ---> 
-      <*> USB Human Interface Device (full HID) support 
-      [*]   HID input layer support 
-   Input device support ---> 
-       <*> Generic input layer (needed for keyboard, mouse, ...) 
-       <*> Mouse interface 
-       (1024) Horizontal screen resolution 
-       (768) Vertical screen resolution 
-       <*> Event interface 
-       [*] Keyboards ---> 
-       [*] Mouse ---> 
- 
-  * To enable ethernet over usb: 
- 
-   USB support  ---> 
-          USB Network Adaptors ---> 
-               <*> USB RTL8150 based ethernet device support (EXPERIMENTAL) 
- 
-===== Test USB Flash Disk ===== 
 After booting the kernel, plug the USB Flash Disk to the USB port, you will see message like:<code> After booting the kernel, plug the USB Flash Disk to the USB port, you will see message like:<code>
 usb 1-2: new full speed USB device using isp1362-hcd and address 4 usb 1-2: new full speed USB device using isp1362-hcd and address 4
Line 133: Line 150:
  
 ===== Test USB Network Adaptor ===== ===== Test USB Network Adaptor =====
 +To enable ethernet over usb:
 +
 +   USB support  --->
 +          USB Network Adaptors --->
 +               <*> USB RTL8150 based ethernet device support (EXPERIMENTAL)
 +
 Assume your Linux host is Suse 9.1 Assume your Linux host is Suse 9.1
   -  Compile uClinux and download image to Bf537 stamp board.    -  Compile uClinux and download image to Bf537 stamp board. 
Line 152: Line 175:
 6 packets transmitted, 6 received, 0% packet loss, time 5002ms 6 packets transmitted, 6 received, 0% packet loss, time 5002ms
 rtt min/avg/max/mdev = 0.151/0.556/2.111/0.698 ms</code> rtt min/avg/max/mdev = 0.151/0.556/2.111/0.698 ms</code>
 +
 +
 +===== Performance Test =====
 +
 +==== ISP1362 / USB SD Card Reader ====
 +
 +  * System Setting
 +
 +^ Board Version ^  CCLK  ^  SCLK  ^  Kernel Version  ^  Toolchain Version  ^ SD Card ^
 +| BF537 STAMP-2.1 - Rev 0.2 | 500MHz | 100MHz | 2.6.28-rc2-ADI-2009R1-pre-svn5938 | gcc 4.1.2 (svn) | Transend SDHC 8GB class 6 |
 +
 +== Test Case 1: Bonnie++ on Ext2 ==
 +<code>
 +root:/> mkfs.ext2 /dev/sda1
 +root:/> mount /dev/sda1 /mnt/
 +root:/> bonnie++ -u root -d /mnt/
 +</code>
 +
 +  * Result:
 +<code>
 +Version  1.94       ------Sequential Output------ --Sequential Input- --Random- 
 +Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- 
 +Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP 
 +blackfin       300M    45  99   615   5   320   1   120  99   645   2  49.6   2 
 +Latency               272ms   10500ms    2136ms     104ms     304ms     664ms   
 +Version  1.94       ------Sequential Create------ --------Random Create-------- 
 +blackfin            -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete-- 
 +              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP 
 +                 16   208  94  6703 100  1450  36   210  94  7327  99   615  73 
 +Latency             55999us    4000us    4000us   44000us    4000us    4000us 
 +</code>
 +
 +  * Compared with result on Linux PC, using the same SD card and USB card reader:
 +<code>
 +root:/> mkfs.ext2 /dev/sdc1
 +root:/> mount /dev/sdc1 /mnt/
 +root:/> bonnie++ -u root -d /mnt/
 +</code>
 +<code>
 +Version  1.94       ------Sequential Output------ --Sequential Input- --Random-
 +Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
 +Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
 +adam-desktop     2G   673  96 12603   2  7349   1  1312  99 18889   1  72.9   0
 +Latency             15833us    1028ms    1540ms   16366us     708ms     402ms
 +Version  1.94       ------Sequential Create------ --------Random Create--------
 +adam-desktop        -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
 +              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
 +                 16  2074  60 +++++ +++ 13069   9  2998  86 +++++ +++  6660  57
 +Latency              6164us    6353us    6568us    6345us      58us     475us
 +</code>