Www.ee.ntou.edu.tw Department of Electrical Engineering, National Taiwan Ocean University Universal Serial Bus & SD card 5/30/2013 Richard Kuo Assistant.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

System Integration and Performance
INPUT-OUTPUT ORGANIZATION
8086 [2] Ahad. Internal! External? 8086 vs _bit Data Bus 20_bit Address 8_bit Data Bus 20_bit Address Only external bus of 8088 is.
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
Programmable Interval Timer
Universal Serial Bus Grant Heileman. The History of USB In 1994 a collaborative effort to design a standard for peripheral devices was made between Compaq,
FIU Chapter 7: Input/Output Jerome Crooks Panyawat Chiamprasert
USB: Data Flow Sukesh Shenoy. USB implementation areas.
1 USB 2.0 Specification  General Description  What is OTG (On the Go)  From where we could begin the work  What would be valid to do?
7-1 Digital Serial Input/Output Two basic approaches  Synchronous shared common clock signal all devices synchronised with the shared clock signal data.
Anush Rengarajan Feng Zheng Thomas Madaelil
USB 2.0 INTRODUCTION NTUT CSIE 學 生:許家豪 指導教授:柯開維教授.
INPUT/OUTPUT ORGANIZATION INTERRUPTS CS147 Summer 2001 Professor: Sin-Min Lee Presented by: Jing Chen.
USB: UNIVERSAL SERIAL BUS Joe Kaewbaidhoon Alex Motalleb Vishal Joshi Prepared for EECS 373 University of Michigan, Ann Arbor 1.
Copyright ©: Nahrstedt, Angrave, Abdelzaher
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
INPUT-OUTPUT ORGANIZATION
May 17, Design Option Trade-Offs w Transceiver Design - Dr. Zong Liang Wu, Philips.
May 17, USB 2.0 Transceiver Macrocell Steve McGowan - Intel Corporation Clarence Lewis - Texas Instruments Steve McGowan - Intel Corporation Clarence.
Shell and Flashing Images Commands and upgrades. RS-232 Driver chip – ST3232C Driver chip is ST3232C Provides electrical interface between UART port and.
The University of New Hampshire InterOperability Laboratory Serial ATA (SATA) Protocol Chapter 10 – Transport Layer.
Department of Electrical Engineering, National Taiwan Ocean University NuMicro Learning Board Introduction 1/29/2015 Richard Kuo Assistant.
COMP201 Computer Systems Exceptions and Interrupts.
© 2008, Renesas Technology America, Inc. All Rights Reserved The RCAN-ET peripheral and the CAN API SH2 & SH2A MCUs V 1.2 Mar 2010.
Interrupts. What Are Interrupts? Interrupts alter a program’s flow of control  Behavior is similar to a procedure call »Some significant differences.
Conditions and Terms of Use
Universal Asynchronous RX/TX
Department of Electrical Engineering, National Taiwan Ocean University NuMicro MCU Learning Board SDK Installation 3/7/2013 Richard.
MICROPROCESSOR INPUT/OUTPUT
FINAL MPX DELIVERABLE Due when you schedule your interview and presentation.
Department of Electrical Engineering, National Taiwan Ocean University Pulse Width Modulation 4/25/2013 Richard Kuo Assistant Professor.
Department of Electrical Engineering, National Taiwan Ocean University Motor Control 5/2/2013 Richard Kuo Assistant Professor.
Department of Electrical Engineering, National Taiwan Ocean University C Programming 3/14/2013 Richard Kuo Assistant Professor.
Department of Electrical Engineering, National Taiwan Ocean University Analog-to-Digital Converter (ADC) 4/18/2013 Richard Kuo Assistant.
Department of Electrical Engineering, National Taiwan Ocean University LCD Display 3/28/2013 Richard Kuo Assistant Professor.
UART: Universal Asynchronous RX/TX
Scott Baker Will Cross Belinda Frieri March 9 th, 2005 Serial Communication Overview ME4447/6405.
Cortex-M0 MCU Interface and Driver Design - Course Overview
Renesas Electronics America Inc. RX USB Peripheral The Renesas RX USB peripheral a.k.a. USBC_597IP_PP Ver
Department of Electrical Engineering, National Taiwan Ocean University Basic Electronics 3/7/2013 Richard Kuo Assistant Professor.
BR 6/001 Universal Serial Bus Universal Serial Bus is a new synchronous serial protocol for low to medium speed data transmission Full speed signaling.
Department of Electrical Engineering, National Taiwan Ocean University ARM Cortex-M0 Introduction 3/1/2012 Richard Kuo Assistant Professor.
Department of Electrical Engineering, National Taiwan Ocean University NuMicro MCU Learning Board SDK Installation 1/29/2015 Richard.
8279 KEYBOARD AND DISPLAY INTERFACING
Department of Electrical Engineering, National Taiwan Ocean University Timer/WatchDog /RTC 4/11/2013 Richard Kuo Assistant Professor.
Accessing I/O Devices Processor Memory BUS I/O Device 1 I/O Device 2.
Features of the new Alibava firmware: 1. Universal for laboratory use (readout of stand-alone detector via USB interface) and for the telescope readout.
Serial Peripheral Interface
8279 KEYBOARD AND DISPLAY INTERFACING
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
General Purpose Input/Output
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Department of Electrical Engineering, National Taiwan Ocean University I2C Bus 5/16/2013 Richard Kuo Assistant Professor.
Tiva C TM4C123GH6PM UART Embedded Systems ECE 4437 Fall 2015 Team 2:
Freescale™ and the Freescale logo are trademarks of Freescale Semiconductor, Inc. All other product or service names are the property of their respective.
The HCS12 SCI Subsystem A HCS12 device may have one or two serial communication interface. These two SCI interfaces are referred to as SCI0 and SCI1. The.
“COMMAND PARSE” - A STATUS REPORT - Matt Smith Pallavi Khandelwal
USB PHYISICAL LAYER PROTOCOL ENGINE LAYER APPLICATION LAYER
1 Input-Output Organization Computer Organization Computer Architectures Lab Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes.
RAILWAY TRACK SNAP NOTIFICATION
USB- Universal Serial Bus
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Operating Systems Chapter 5: Input/Output Management
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Department of Electrical Engineering, National Taiwan Ocean University Universal Serial Bus & SD card 5/30/2013 Richard Kuo Assistant Professor

Department of Electrical Engineering, National Taiwan Ocean University Outline ► USB Introduciton –13.NuMicro_USB_SDcard.ppt ► Exercise : USB Virtual Com. Port (Smpl_VCOM) –Using UART0 to USB ► Exercise : USB HID (Smpl_HID) –Emulating USB Human Interface Device (keyboad, mouse, digitizer) ► Exercise : Audio player with SDcard (Smpl_SDcard_ADPCM) –MCU decode.wav file read from SDcard ► Exercise : signal recording with SDcard (Smpl_SDcard_ADC7) –MCU record signal input of pin ADC7 and store 12-bit data into SDcard ► To design a SDcard driver (Driver_SDcard.c) using FAT File System

Department of Electrical Engineering, National Taiwan Ocean University NuMicro USB Features ► Built-in USB2.0 full-speed device controller and transceiver ► Compliant to USB 2.0 Full-Speed specification ► Provide one interrupt vector supporting the following types –WAKEUP ( Stop mode wakeup ) –FLO ( Floating detect interrupt ) –USB ( USB events, like IN ACK, OUT ACK ) –BUS ( Bus events, like reset, suspend )

Department of Electrical Engineering, National Taiwan Ocean University NuMicro USB Features ► Supporting 4 transmission modes : –Control –Bulk –Interrupt –Isochronous ► Support 6 endpoints , configurable transmission modes (Control/Bulk/Interrupt/Isochronous) ► Built-in USB buffer is 512 bytes SRAM

Department of Electrical Engineering, National Taiwan Ocean University USB2.0 Controller Block Diagram

Department of Electrical Engineering, National Taiwan Ocean University USB Controller Description ► UIE –The endpoints management –All the transfer operations are implemented in it. ► DPLL (Digital Phase Lock Loop) –Use 48MHz to lock the input data from RXDP and RXDM. –The bit rate of USB is 12MHz. It is converted from DPLL ► Floating De-bounce –A USB device may be plug-in or unplug from USB. –Provide hardware de-bounce for USB floating detect

Department of Electrical Engineering, National Taiwan Ocean University Function Description ► SIE –The front-end of the device controller and handle most of the USB packet protocol. –The function could include: Packet recognition, transaction sequence SOP, EOP, RESET, RESUME signal detection / generation. Clock / Data separation NRZI Data encoding / decoding CRC & Packet ID generation / checking Serial-Parallel / Parallel-Serial conversion.

Department of Electrical Engineering, National Taiwan Ocean University Function Description ► Interrupt –Provide a interrupt signal with 4 interrupt events (WAKEUP, FLO, USB and BUS) –WAKEUP is only present after stop wakeup. After the chip enters power down mode, any change on D+, D- and floating detect pin can wake up this chip. –FLO is for USB plug-in or unplug. –USB is to notify user to any USB event on the bus. Acknowledge what kind of request is to which endpoint and take necessary response. –BUS notifies users of some bus events, like USB reset, suspend, time-out, and resume.

Department of Electrical Engineering, National Taiwan Ocean University Function Description ► Power Saving –USB turns off PHY automatically to save power while this chip enters power down mode. –Furthermore, user can write 0 to register ATTR[4] to turn off PHY under special conditions like suspend to save power.

Department of Electrical Engineering, National Taiwan Ocean University Register Map 10 RegisterOffsetR/WDescriptionReset Value USB_BA = 0x4006_0000 IEF USB_BA+0x000 R/W Interrupt Enable Flag0x0000_0000 EVF USB_BA+0x004 R/W&C Interrupt Event Flag0x0000_0000 FADDR USB_BA+0x008 R/W Function Address0x0000_0000 STS USB_BA+0x00C R System state0x0000_00x0 ATTR USB_BA+0x010 R/W R Bus state & attribution0x0000_0040 FLODETB USB_BA+0x014 R Floating detect0x0000_0000 BUFSEG USB_BA+0x018 R/W Buffer Segmentation0x0000_0000 BUFSEG0 USB_BA+0x020 R/W Buffer Segmentation of endpoint 00x0000_0000 MXPLD0 USB_BA+0x024 R/W Maximal payload of endpoint 00x0000_0000 CFG0 USB_BA+0x028 R/W Configuration of endpoint 00x0000_0000 CFGP0 USB_BA+0x02C R/W W&C stall control register and In/out ready clear flag of endpoint 00x0000_0000 General Setting Endpoint Setting

Department of Electrical Engineering, National Taiwan Ocean University Register Function ► Normal Configuration: –IEF (Interrupt Enable Register) Enable / Disable USB related interrupt. –EVF (Interrupt Event Flag Register) Any USB event will cause an interrupt, and user just needs to check the related event flags. –FADDR (Function Address Register) A 7-bit value uses as the address of a device on the bus. –STS (System States Register) User can check related bits to know what kind of USB event was occurred.

Department of Electrical Engineering, National Taiwan Ocean University Register Function –ATTR (Bus States & Attribution Register) Acknowledge BUS events from ATTR. –FLODETB (Floating Detection Register) Acknowledge USB plug-in / unplug by reading this register. –BUFSEG (Buffer Segmentation Register) User needs to set the effective starting address of USB buffer for setup token only.

Department of Electrical Engineering, National Taiwan Ocean University Register Function ► Endpoint Setting: –BUFSEGx, x=0~5 (Buffer Segmentation Register) User needs to set the effective starting address of USB buffer for each endpoint (0~5) buffer. –MXPLDx, x=0~5 (Maximal Payload Register) Once MXPLD is written, the data packets will be transmitted/received immediately after IN/OUT token arrived.

Department of Electrical Engineering, National Taiwan Ocean University BUFSEGx & MXPLDx Register Token Idle IN OUT DATA0/ DATA1 Data DATA0/ DATA1 DeviceHost 1.Prepare related data into the specified endpoint buffer. 2.The start address of endpoint buffer is defined in BUFSEGx. 3.Need to write the actual data length in MXPLDx. USB host has requested data from device controller USB host wants to transmit data to device controller 1.Hardware will buffer these data to specified endpoint buffer. 2.The start address of endpoint buffer is defined in BUFSEGx. 3.Hardware will record the data length in MXPLDx.

Department of Electrical Engineering, National Taiwan Ocean University Register Function ► Endpoint Setting: –CFGx, x=0~5 (Configuration Register) Each endpoint needs to be configured properly in advance for its attribution (IN, OUT or ISO state) and endpoint number. –CFGPx, x=0~5 (Extra Configuration Register) User can force device to respond STALL.

Department of Electrical Engineering, National Taiwan Ocean University Software driver & Sample Code ► Website download “ NUC1XXBSP.zip ” ► umerElectronicsIC/ARMMicrocontroller/ARMCortexTMM0/Softwar eLibrary.htm umerElectronicsIC/ARMMicrocontroller/ARMCortexTMM0/Softwar eLibrary.htm ► Document: –“ NUC1XX Driver Reference Guide.pdf ” ► USB Driver files –DrvUSB.c –DrvUSB.h ► USB Sample Code –Smpl_HID (Human Interface Devices) –Smpl_UAC (USB Audio Class) –Smpl_UDC (USB Device Controller)

Department of Electrical Engineering, National Taiwan Ocean University USB Driver Framework

Department of Electrical Engineering, National Taiwan Ocean University USB Driver Framework ► USB Controller –The USB controller can issue SETUP or IN/OUT event when getting relative tokens. ► USB Driver –Initialize the USB control according to the USB endpoint –Process the standard requests of control pipe of USB –Call the relative USB event handlers.

Department of Electrical Engineering, National Taiwan Ocean University USB Driver Framework ► USB Class –In this layer, user should define the all descriptors, such as device descriptor, configuration descriptors, interface descriptors, endpoint descriptors and class descriptors and etc. –An endpoint configuration to define the USB buffer usage of each endpoint is also required. –The relative device/class function handler also needs to be implemented here.

Department of Electrical Engineering, National Taiwan Ocean University Control Flow of Run a USB Device

Department of Electrical Engineering, National Taiwan Ocean University Smpl_VCOM int32_t main (void) { STR_UART_T sParam; UNLOCKREG(); DrvSYS_SelectIPClockSource(E_SYS_UART_CLKSRC,0); // set UART clock source to 12MHz DrvSYS_SetOscCtrl(E_SYS_XTL12M, 1); // enable 12MHz crystal DrvSYS_SetPLLMode(0); // enable PLL DrvSYS_SelectHCLKSource(2); // switch to PLL clock Delay(100); SystemCoreClockUpdate(); DrvGPIO_InitFunction(E_FUNC_UART0); // set UART0 pins /* UART Setting */ sParam.u32BaudRate = 9600; sParam.u8cDataBits = DRVUART_DATABITS_8; sParam.u8cStopBits = DRVUART_STOPBITS_1; sParam.u8cParity = DRVUART_PARITY_NONE; sParam.u8cRxTriggerLevel= DRVUART_FIFO_1BYTES; DrvUART_Open(UART_PORT0, &sParam); // set UART0 configuration VCOM_MainProcess(); } USB Virtual Com port (USB-to-UART0)

Department of Electrical Engineering, National Taiwan Ocean University VCOM_MainProcess() void VCOM_MainProcess(void) { E_DRVUSB_STATE eUsbState; int32_t i, i32Len /* Enable Interrupt and install the call back function */ DrvUART_EnableInt(UART_PORT0, (DRVUART_RLSINT | DRVUART_RDAINT | DRVUART_TOUTINT),UartIntHandler); DrvUSB_Open((void*)DrvUSB_DispatchEvent); VCOM_Open(); /* Enable Interrupt and install the call back function */ DrvUART_EnableInt(UART_PORT0, DRVUART_RDAINT, UartIntHandler); eUsbState = DrvUSB_GetUsbState(); if (eUsbState >= eDRVUSB_ATTACHED) { /* Force Bus Reset for 150 ms*/ _DRVUSB_ENABLE_SE0(); RoughDelay(150000); _DRVUSB_DISABLE_SE0(); }

Department of Electrical Engineering, National Taiwan Ocean University Smpl_VCOM _DRVUSB_ENABLE_MISC_INT(0); /* Disable USB-related interrupts. */ _DRVUSB_ENABLE_FLDET_INT(); /* Enable float-detection interrupt. */ _DRVUSB_ENABLE_MISC_INT(INTEN_WAKEUP | INTEN_WAKEUPEN | INTEN_FLDET | INTEN_USB | INTEN_BUS); while(1) { eUsbState = DrvUSB_GetUsbState(); if (eUsbState == eDRVUSB_DETACHED) { //printf("USB Detached.\n"); /* Just waiting for USB attach */ while(eUsbState == eDRVUSB_DETACHED) { eUsbState = DrvUSB_GetUsbState(); } //printf("USB Attached.\n"); }

Department of Electrical Engineering, National Taiwan Ocean University Smpl_VCOM /* Check if any data to send to USB & USB is ready to send them out */ if(comRbytes && (gu32TxSize == 0)) { i32Len = comRbytes; if(i32Len > BULK_EP_MXPLD) i32Len = BULK_EP_MXPLD; for(i=0;i<i32Len;i++) { gRxBuf[i] = comRbuf[comRhead++]; if(comRhead >= RXBUFSIZE) comRhead = 0; } NVIC_DisableIRQ(CAN1_IRQn); comRbytes -= i32Len; NVIC_EnableIRQ(CAN1_IRQn); gu32TxSize = i32Len; DrvUSB_DataIn(BULK_IN_EP_NUM, gRxBuf, i32Len); } From Com port to USB, comRbuf is Com Rx Buffer & its data are sent to USB comRbytes is byte count of Com Rx buffer

Department of Electrical Engineering, National Taiwan Ocean University Smpl_VCOM /* Process the Bulk out data */ if(gu32RxSize && (gu32RxSize <= TXBUFSIZE - comTbytes)) { for(i=0;i<gu32RxSize;i++) { comTbuf[comTtail++] = gpu8RxBuf[i]; if(comTtail >= TXBUFSIZE) comTtail = 0; } NVIC_DisableIRQ(CAN1_IRQn); comTbytes += gu32RxSize; NVIC_EnableIRQ(CAN1_IRQn); gu32RxSize = 0; /* Ready to get next BULK out */ DrvUSB_DataOutTrigger(BULK_OUT_EP_NUM, BULK_EP_MXPLD); }

Department of Electrical Engineering, National Taiwan Ocean University Smpl_VCOM /* Process the software Tx FIFO */ if(comTbytes) { /* Check if Tx is working */ if(UART0->IER.THRE_IEN == 0) { /* Send one bytes out */ UART0->DATA = comTbuf[comThead++]; if(comThead >= TXBUFSIZE) comThead = 0; NVIC_DisableIRQ(UART0_IRQn); comTbytes--; NVIC_EnableIRQ(UART0_IRQn); /* Enable Tx Empty Interrupt. (Trigger first one) */ UART0->IER.THRE_IEN = 1; } From USB to Com port, comTbuf is Com Tx Buffer & its data are from USB comTbytes is byte count of Com Tx buffer

Department of Electrical Engineering, National Taiwan Ocean University Smpl_HID (1/3) /********************************** Main.c *****************************************/ //UNLOCKREG DrvSYS_UnlockKeyAddr(); SYSCLK->PWRCON.XTL12M_EN = 1; /* Enable PLL */ DrvSYS_SetPLLPowerDown(0); Delay(1000); /* Switch to PLL clock */ DrvSYS_SetHCLKSource(2); Delay(100); /* The PLL must be 48MHz when using USB */ SystemFrequency = ; //LOCKREG DrvSYS_LockKeyAddr(); /* Execute HID process */ HID_MainProcess(); Chip System Setting Execute HID Process

Department of Electrical Engineering, National Taiwan Ocean University Smpl_HID (2/3) /******************************* HID_MainProcess *********************************/ int32_t i32Ret = E_SUCCESS; E_DRVUSB_STATE eUsbState; i32Ret = DrvUSB_Open(0); if(i32Ret != E_SUCCESS) return i32Ret; while(1) { /* Disable USB-related interrupts. */ DRVUSB_ENABLE_MISC_INT(0); /* Enable float-detection interrupt. */ _DRVUSB_ENABLE_FLD_INT(); // Wait for USB connected. while (TRUE) { // Order here is significant. // Give a chance to handle remaining events before exiting this loop. eUsbState = DrvUSB_GetUsbState(); DrvUSB_DispatchEvent(); if (eUsbState >= eDRVUSB_ATTACHED &&eUsbState != eDRVUSB_SUSPENDED) break; } 1. Open USB Driver 2. USB Plug-in Detect

Department of Electrical Engineering, National Taiwan Ocean University Smpl_HID (3/3) /* Start HID and install the callback functions to handle in/out report */ HID_Init((void *)HID_GetInReport, (void *)HID_SetOutReport); // Enable USB-related interrupts. _DRVUSB_ENABLE_MISC_INT(IEF_WAKEUP | IEF_WAKEUPEN | IEF_FLD | IEF_USB | IEF_BUS); // Poll and handle USB events. while(1) { eUsbState = DrvUSB_GetUsbState(); DrvUSB_DispatchEvent(); HID_GetInReport(0); if (eUsbState == eDRVUSB_DETACHED) break; } // Disable USB-related interrupts. _DRVUSB_ENABLE_MISC_INT(0); } 3. Open USB Class Driver 4. Dispatch USB events 5. Call USB Function Handler

Department of Electrical Engineering, National Taiwan Ocean University Smpl_SDcard_ADPCM Audio playback of a.wav file on SD card

Department of Electrical Engineering, National Taiwan Ocean University Smpl_SDcard_ADPCM ► Store a.wav file into SD card –fix filename : adpcm.wav ► Use FAT FS to read SD card ► Use libImaAdpcm4bit.lib for audio playback ► Use onboard WAU8822 audio codec to drive a 8 ohm speaker (CON3)

Department of Electrical Engineering, National Taiwan Ocean University Smpl_SDcard_ADC7 ► Capture 10K samples from ADC7 pin ► Store 12-bit data (2 bytes) into SDcard using FAT FS (Linux)

Department of Electrical Engineering, National Taiwan Ocean University General Disclaimer The Lecture is strictly used for educational purpose. MAKES NO GUARANTEE OF VALIDITY ► The lecture cannot guarantee the validity of the information found here. The lecture may recently have been changed, vandalized or altered by someone whose opinion does not correspond with the state of knowledge in the relevant fields. Note that most other encyclopedias and reference works also have similar disclaimers.similar disclaimers No formal peer review ► The lecture is not uniformly peer reviewed; while readers may correct errors or engage in casual peer review, they have no legal duty to do so and thus all information read here is without any implied warranty of fitness for any purpose or use whatsoever. Even articles that have been vetted by informal peer review or featured article processes may later have been edited inappropriately, just before you view them.peer reviewfeatured article No contract; limited license ► Please make sure that you understand that the information provided here is being provided freely, and that no kind of agreement or contract is created between you and the owners or users of this site, the owners of the servers upon which it is housed, the individual Wikipedia contributors, any project administrators, sysops or anyone else who is in any way connected with this project or sister projects subject to your claims against them directly. You are being granted a limited license to copy anything from this site; it does not create or imply any contractual or extracontractual liability on the part of Wikipedia or any of its agents, members, organizers or other users. ► There is no agreement or understanding between you and the content provider regarding your use or modification of this information beyond the Creative Commons Attribution-Sharealike 3.0 Unported License (CC-BY-SA) and the GNU Free Documentation License (GFDL);Creative Commons Attribution-Sharealike 3.0 Unported License GNU Free Documentation License

Department of Electrical Engineering, National Taiwan Ocean University General Disclaimer Trademarks ► Any of the trademarks, service marks, collective marks, design rights or similar rights that are mentioned, used or cited in the lectures are the property of their respective owners. Their use here does not imply that you may use them for any purpose other than for the same or a similar informational use as contemplated by the original authors under the CC-BY- SA and GFDL licensing schemes. Unless otherwise stated, we are neither endorsed by nor affiliated with any of the holders of any such rights and as such we cannot grant any rights to use any otherwise protected materials. Your use of any such or similar incorporeal property is at your own risk. Personality rights ► The lecture may portray an identifiable person who is alive or deceased recently. The use of images of living or recently deceased individuals is, in some jurisdictions, restricted by laws pertaining to personality rights, independent from their copyright status. Before using these types of content, please ensure that you have the right to use it under the laws which apply in the circumstances of your intended use. You are solely responsible for ensuring that you do not infringe someone else's personality rights.personality rights