scieee AI-readable full text Open interactive document viewer

Sun Sensor Based on a Luminance Spiking Pixel Array

Leñero Bardallo, Juan Antonio; Farian, Lukasz; Guerrero Rodríguez, Jesús Manuel; Carmona Galán, Ricardo; Rodríguez Vázquez, Ángel Benito

Abstract

We present a novel sun sensor concept. It is the very first sun sensor built with an address event representation spiking pixel matrix. Its pixels spike with a frequency proportional to illumination. It offers remarkable advantages over conventional digital sun sensors based on active pixel sensor (APS) pixels. Its output data flow is quite reduced. It is possible to resolve the sun position just receiving one single event operating in time-to-first-spike mode. It operates with a latency in the order of milliseconds. It has higher dynamic range than APS image sensors (higher than 100 dB). A custom algorithm to compute the centroid of the illuminated pixels is presented. Experimental results are provided.

Full text

1 Sun sensor based on a luminance spiking pixel array Juan A. Le˜ nero-Bardallo, Lukasz Farian, Jos´ e M. Guerrero-Rodr´ ıguez, Ricardo Carmona-Gal´ an, and ´ Angel Rodr´ ıguez-V´ azquez Abstract— We present a novel sun sensor concept. It is the very first sun sensor built with an Address Event Representation (AER) spiking pixel matrix. Its pixels spike with a frequency proportional to illumination. It offers remarkable advantages over conventional digital sun sensors based on Active Pixel Sensor (APS) pixels. Its output data flow is quite reduced. It is possible to resolve the sun position just receiving one single event operating in Time-to-First-Spike (TFS) mode. It operates with a latency in the order of milliseconds. It has higher dynamic range than APS image sensors (higher than 100dB). A custom algorithm to compute the centroid of the illuminated pixels is presented. Experimental results are provided. Index terms –sun sensors; AER; Attitude determination; Event-based vision sensors; Space probes. 1 I. INTRODUCTION Sun sensors are devices on demand to determine the sun position. There are multiple applications for them. For instance, solar power plants need to measure the sun position precisely to control the solar cells or the heliostats positions, maximizing energy production. If we speak about navigation systems, the sun is the most prominent celestial body in the solar system. Hence, it is considerer as a reference to determine the spacecrafts and sounding rockets attitude. Depending on the application, sun sensors features can differ. Power plants need devices that are precise and reliable, but they do not require fast operation. However, when gauging space probes attitude in the outer space, fast operation, low power consumption, and reduced output flow are mandatory. There are two main families of sun sensors that are chosen depending on the application scenario: analog and digital. Analog sensors, [1], [2] are usually designed using two different photoactive regions with dedicated optics. Depending on the sun inclination, the ratio between two different photocurrents gives the sun inclination. The drawback of such kind of sensors is that they are sensitive to scene distractors and noise. If there are different light sources within the visual scene, the measurements results will be affected. Their advantages are fast operation and simplicity. Digital sun sensors, 1This work was supported in part by the University of C´ adiz under Grant PR2016-072; in part by the Spanish Ministry of Economy and Competitiveness under Grant TEC2015-66878-C3-1-R, Co-Funded by ERDF-FEDER; in part by Junta de Andaluc´ ıa CEICE under Grant TIC 2012- 2338 (SMARTCIS-3D); and in part by ONR under Grant N000141410355 (HCELLVIS) Juan A. Le˜ nero-Bardallo and Jos´ e M. Guerrero-Rodr´ ıguez are with the University of C´ adiz, Spain, (E-mails:{juanantonio.lenero,josem.guerrero}@uca.es). Lukasz Farian is with the University of Oslo, Norway, Email: [email protected] R. Carmona-Gal´ an, and ´ A. Rodr´ ıguez-V´ azquez are with the Institute of Microelectronics of Seville (IMSE-CNM), CSIC-Universidad de Sevilla, Spain (E-mails: {rcarmona,angel}@imse-cnm.csic.es). [3], [4], usually employ a frame-based vision sensor with Active Pixel Sensors (APS) pixels and dedicated optics. The whole pixel array is readout. Thereafter, the sun position is determined within the visual scene. These sensors are more reliable because the entire visual scene can be processed to determine the sun position. Hence, distractors and noise impact can be amended. The counterpart is that there is a large amount of black pixels that are not meaningful to determine the sun position. Hence, such sensors require time to readout an entire pixel array, store their outputs on a memory, and finally process the data to determine the sun position. To avoid such limitation, some research work has been developed. Some authors, [3], [4] propose to determine the sun position in two steps: acquisition and tracking. In the first step, the entire pixel matrix or a group of pixels is readout to determine a Region of Interest (ROI) with the illuminated pixels. In the second step, pixels within the ROI are readout to compute the sun position. This approach alleviates the limitation of APS sensors. The drawback is that more dedicated circuitry, pixel control signals, and algorithms are required. Also the amount of pixels to be readout are higher than the ones placed on the ROI. Event based vision sensors [5]–[8] have pixels that are readout asynchronously. They send events whenever they have information to transmit. Therefore, an entire pixel array does not have to be readout to render one image. As a result, they provide a reduced output data flow and fast operation. Among the event based sensors, the luminance sensors, also known as octopus retinas [9]–[11], are sensors whose pixels send events with a frequency proportional to illumination. Hence, their nature is especially suitable for the design of efficient sun sensors, overcoming some of the limitations of the previous reported ones, i.e. data redundancy and processing time. Only illuminated pixels within the ROI will send information out of chip. The idea of exploiting Address Event Representation (AER) sensors to design sun sensors was already advanced by Farian et al. in a conference paper [12]. The architecture of a sun sensor with two asynchronous pixel rows with a L-shape and dedicated optics was presented. Simulation results were also provided. In this article, we propose a solar based on an AER luminance sensor. Pinhole optics are mounted on top of the sensor. Pinhole lenses are very strongly and compact. The sun disk is projected over a reduced number of pixels. Thus, that will be the only pixels that will be readout, avoiding to readout a entire pixel matrix. Furthermore, pixels operate asynchronously at high speed (in the order of milliseconds), offering good resolution and high dynamic range operation. The new sensor merges some of the advantages of prior analog and digital 2 θ x y FD D T Pixel Matrix Lid & Pinhole Rmax φ Fig. 1. System implementation. There is a pixel array covered by an opaque lid with a pinhole in its center. Only a reduced number of pixels are illuminated through the pinhole by the sun light projection. Depending on the sun inclination with the sensor’s vertical axis, different pixels will be illuminated. sensors and overcomes some of their limitations, i.e. data redundancy, low operation speed, and reduced dynamic range. Experimental results are provided. II. SYSTEM DESCRIPTION The system implementation is based on a pixel array covered by an opaque lid with a pinhole (see Fig. 1), similar to the one devised by Xie et al. [3] or the European Spatial Agency [4]. Only a reduced number of pixels will be illuminated by the sunlight projection. The rest of pixels will be relatively dark and will send relatively few data. Depending on the sun position, the light spot will be placed at different locations within the pixel array. The centroid of the illuminated pixels, (x, y), will be used to compute the sun position (θ, φ)that is determined by the sun latitude, θ, and the azimuth, φ. The sun’s latitude is given by: θ=arctan  qW·(x−xc)2+L·(y−yc)2 FD  (1) Where (xc, yc)is the centroid of the ROI when θ= 0◦.W and Lare the pixel width and length, respectively. FD is the focal distance, i.e. the distance between the pixel array and the lid. The azimuth, φ, is given by: φ=arctan L·(y−yc) W·(x−xc)(2) The distance between the array and the lid (FD) is the focal distance. Based on these parameters values, and knowing the number of pixels and their dimensions (width and length) it REQ ACK Pixel Address R R AA AER BUS Sender Receiver 1 2 3 Fig. 2. Signals involved in the AER point to point communication protocol between different chips. is possible to determine the expected sensor Field of View (FOV). Let us denote as Rmax the maximum distance from the center of the array to one of its corners. Taking into account the pixel array dimensions, we can determine Rmax: Rmax =1 2·q(W·M)2+ (L·N)2(3) Mis the number of pixel rows. Nis the number of pixel columns. Hence, the maximum sunlight angle of incidence is: θmax =arctan Rmax FD (4) And the FOV will be: FOV = 2 ·θmax = 2 ·arctan Rmax FD (5) Examining the Equations 4 and 5, we can conclude that we can increase the FOV by minimizing the focal distance from the pinhole to the sensor (FD), and we can improve the sensor resolution by decreasing the pixel dimensions (W×L). As it will be discussed in Section IV-C, the sensor resolution will depend on the number of pixels. For this reason, the sensor pixel array resolution cannot be arbitrarily low. In the HDR image sensor chosen to build the sun sensor [13], [14], pixel dimensions are W=L=25µm. The number of rows is M=128, and the number of columns is N=96. To maximize the FOV, we manufactured the lid to place it as close as possible to the sensor, achieving a focal distance of FD=0.6mm. Substituting these parameters in Equations 3, 4 and 5, we obtain a FOV=146◦. III. PIXEL DESIGN We designed the sun sensor with a vision sensor with pixels that send their information using the AER communication protocol [15]. Every time that a pixel fires asynchronously, the sensor requests access to a shared AER bus. When the bus is ready, the pixel coordinates are sent through the bus. In case there is bus congestion, i.e. several pixel trying to send information simultaneously, such pixels will wait until 3 Tint event #1 event #2 event #(n-1) event #n V reset Time Voltage V bot ∆V Fig. 3. Pixel transient voltages at the integration capacitance. Every time that voltage level Vbot is reached, an event is sent out off chip. Tsensing Tscan RESET Event Communication Time Line (During T ) int _req_y _ack_y reset_y _req_x reset_x bus_req bus_ack Pixel Address T =100-200ns handshacking (a) Pixel Control Signals Time-Line (b) External AER Communication Fig. 4. Time line of the signals involved in the pixel operation. Sensing starts after a global reset. When a certain number of events is received, the pixel is reset again and the sun position is computed. The pixel is kept in a steady state until a new measurement is taken. The time interval between consecutive measurements is denoted as Tscan. they have access granted to the bus to send their addresses off-chip. Fig. 2 the AER communication signals involved. In this particular implementation, we employ an AER sensor, [13], [14], whose pixels generate events with a frequency proportional to illumination, as it is depicted in Fig. 3. Sensors built with these kind of pixels are also known as ’octopus’ retinas [9]–[11]. There are multiple possible topologies for the pixel design. This particular sensor is intended for High Dynamic Range (HDR) operation. It has different operation modes. In the sun sensor implementation, we just use light to frequency conversion. Fig. 5 shows the pixel circuitry involved in the light to frequency conversion. Pixel operation is initiated with a global reset (RES). After that, pixel capacitors are discharged with a speed proportional to the local illumination. Whenever a pixel voltage reaches the level Vbot, the comparator fires and reset the pixel capacitor. Then, the pixel starts over integrating charge again. In the meantime, a analog memory TABLE I SPIKING LUMINANCE AER SENSOR FEATURES Technology AMS 0.18µm HV Power Supply 1.8V/5V Chip Dimensions 4120µm×3315µm Pixel Size 25µm×25µm Number of Pixels 96×128 Fill Factor 10% Dynamic Range >100dB Event sensitivity 0.0762events/∆V·lux Power Consumption 52mW, 100keps Sense Node Capacitance 45fF FPN (event output) 2.6% Max. event rate 2Meps (same row), 10Meps (different rows) stores on C1a value indicating that the pixel has fired and an event need to be sent out. The AER communication logic [16] handles the communication to transmit of chip an event with the (x,y) coordinates of the pixel that has fired. The oscillation period shown in Fig. 3 can be computed as a function of the circuit parameters in Fig. 5. The light-to- frequency conversion block is an astable oscillator. Therefore, its value is approximately given by: fosc ≈Iph Cph ·(VDD −Vbot)=Iph Cph ·∆V(6) It depends on the pixel maximum voltage variation ∆V= VDD −Vbot, the pixel integration capacitance Cph, and the photocurrent, Iph. We target for the sun sensor implementation a pixel firing frequency in the order of KHz. Hence, ∆Vcan be adjusted for this purpose. Since a sun sensor can be exposed to high illumination levels, the integration capacitance values Cph and ∆Vshould be high enough to assure that. The proposed sensor is suitable for high illumination operation. Transistors with thicker gate oxide are selected for the pixel design. The value of the power supply can be set up to VDD = 5V. Fig. 6 displays a sensor block diagram. The different circuit modules involved in the pixel event-based operation are shown. There is a pixel matrix core and peripheral asynchronous circuitry to manage the AER communication [16]. An external Opal Kelly XC7K160T board is attached to the sensor through a Mezzanine connector for interfacing. The board has a Kintex 7 FPGA that performs several operations: it handles the AER protocol communication signals depicted in Fig. 2, stores the incoming events on a memory, and send/receives data from a PC for system debugging and real time data representation with the standard jAER interface [17]. IV. EXPERIMENTAL RESULTS A. Experimental Setup The main features of the spiking vision sensor chosen to design the sun sensor are summarized on Table I. Fig. 7 displays a picture of the sensor that is allocated over a PGA144 socket. A lid with a thickness of T=100µm is placed over the chip at a distance of FD=0.6mm. In Fig. 8, we display de lid. It is anti-reflective on one side and reflective on the other one. The reflective side was placed externally to reflect the 4 + _ RES Cph ____ M V bot _req_y _req_x _ack_y Mn3 Mn5 Mn4 p1 C1Mn2 reset_x reset_y RES Light-to-frequency conversion AER communication logic Mp2 Mn1 Mp3 V bias_comp Vph self-reset Fig. 5. Pixel schematics. There is circuitry to perform a light to frequency conversion and logic to handle the asynchronous AER communication. Transistor sizes are (W/L, µm/µm): Mp1=1/1. Mp2=3/1. Mp3=0.5/1. Mn1=0.5/0.7. Mn2=0.7/0.7. Mn3=1/0.7. Mn4=Mn5=0.5/0.7. Cint =C1=40fF, Cph =5fF. Bias voltages: Vbot =1V, Vbias comp =4.3V. AER Communication X-Decoder X-Arbiter noitacinummoCREA redoceD-Y retibrA-Y V pd V pd bus_req_x y_qer_sub _bus_req _bus_ack X_adrresses sesserrda_Y bra_qerx 0 bra_kca_x n-1 y _ req_arb n-1 y _ack_arb 0 qerx 0 x_teser_ n-1 global_res ser_labolg Pixel Matrix FPGA SDRAM USB 3.0 Fig. 6. System block diagram. We display the main sensor blocks. An external Opal Kelly XC7K160T board with a FPGA is attached to the sensor for interfacing. The FPGA can send data to a PC for debugging and monitoring. (a) (b) Fig. 7. Sensor photograph. (a) Front view. (b) Lateral view. Detail of the interconnectivity between the sensor and the Opal Kelly XC7K160T board. (a) (b) Fig. 8. Lid with a pinhole manufactured to implement the sun sensor. The side that faces the sun is metallic to reflect the sun radiation. The side that is directly over the chip is anti-reflective. Lid dimensions are: Thickness: T=100µm, Width=Length=20mm, Pinhole radius=50µm. Fig. 9. jAER interface [17] to debug and display the sensor information. The black speckle correspond to the illuminated region when the sensor is operating. 5 80 70 x Pixels Response 60 50 30 40 y 3000 0 2000 1000 50 Spiking Frequency (Hz) Spiking Frequency (Hz) x 0 50 100 y 20 40 60 80 0 500 1000 1500 2000 2500 Fig. 10. Typical event response when the sensor is exposed to sunlight. A group of pixels are the one one that send events off-chip. There is a peak of activity in the center of the illuminated region. incident sunlight. The anti-reflective side was placed directly over the chip. It was manufactured using a laser PCB printing machine. For the test, we assembled several prototypes with different radius ranging from 50µm to 100µm to compare their performance. The lid does not need a perfect alignment to operate. Any offset in the measurements will be systematic and known. To start operating, we just need to determine the coordinates (xc, yc)of the pixel that is illuminated when there is a light beam aligned to the sensor transversal axis (θ= 0◦). Hence, this an advantage for the test over systems with more complex optics that require a precise alignment before operating [12]. To debug and test the sensor, the jAER interface [17] was adapted to display the information coming from our sensor, as it is depicted in Fig. 9. B. Sun Position Detection Algorithm One of the advantages of this sensor over the previous reported digital ones [3], [4] is the reduced output data flow 70 60 50 x Centroid Position 40 30 60 80 y 2.4 2.2 2 100 Time (s) 2.2 2.25 2.3 2.35 2.4 Degrees (º) 0 10 20 30 40 Latitude ( θ) Time (s) 2.2 2.25 2.3 2.35 2.4 Degrees (º) -100 -50 0 50 Azimuth (φ) (c) (a) (b) Fig. 11. Sensor transient response. A light beam facing the sensor was rotated to emulate the sun movement. (a) Raster plot: Recorded events versus time. (b) Computed centroids at timestamps of Tstamp=5ms. (c) Computed angles (θ, φ)that indicate the light source position. 6 and the fast operation. Only illuminated pixels will send data off-chip. Computing their spiking frequency, it will be possible to gauge their illumination precisely. Typically, when the sensor is exposed to sunlight, a group of pixels spike with a frequency distribution as the depicted in Fig. 10. Pixels in the center of the illuminated region will spike with a higher frequency than pixel in the border. The AER arbitration logic can tolerate maximum events rates of 10Meps [16]. Taking into account that only a reduced number of pixels is active simultaneously, it possible to measure precisely the illumination levels of such pixels. In the Fig. 10, illumination levels range between [0,2500]. That means that the sensor has to be able to measure an intra-scene dynamic range of DR = 20·log10 (2500) ≈70dB to capture all the illumination levels of this particular visual scene. To compute the angles in Equations 1 and 2, the centroid of the illuminated pixels has to be determined. To do so, we apply this simple algorithm: 1) We wait until a certain number of events, Nevents ≥1, are received. In the meantime, the coordinates of the pixels that fire (xi, yj)are stored on a memory. 2) Once the event number is equal to Nevents, we compute the centroid coordinates. x=1 Nevents · Nevents X i=1 xi(7) y=1 Nevents · Nevents X j=1 yj(8) 3) Once the centroid, (x, y)is kown, the sun position is determined according to Equations 1 and 2. 4) The event counter is reset, Nevents = 0, and the computation is finished. To calculate the sun position again, go to step #1. The proposed algorithm is simple and efficient. It was tested programming it on the jAER interface [17]. It can easily be implemented on a FPGA or a microcontroller. The sun position is not determined until a certain number of events is received. Hence, the amount of data used to determine the sun position is always the same. If no data is received, the sun position will not be computed. The pixels reset signal (RES in Fig. 5) can be used as a timer, i.e. if after a certain time interval (Tscan in Fig. 4), the number of events received is lower than Nevents, the counter will be reset and the sun position will not be determined. The user can keep all the pixels reset and release them to compute the sun position. This will allow to save power. Fig. 11 displays the temporal response of the sensor. We rotated a fast light within the FOV of the sensor. We recorded data and we computed the centroid at different time stamps with the algorithm previously described. The time stamps between algorithm executions were Tstamp=5ms. On top, (Fig. 11.(a)), we have plotted a raster plot with the events generated by the different pixels over time. Initially, the sensor was not illuminated. Therefore, there was not event activity. Once, pixels start firing a considerable number of events, their centroids are calculated at time intervals equal to Tstamp=5ms with the latest events that were received. Fig. 11.(b) shows the computed centroids coordinates over time. Fig. 11.(c) displays the computed angles that determine the sun position, according Equations 1 and 2, at every time stamp. The latitude, θ, depends on the ratio between the centroid distance to the center of the pixel array and the focal distance. Initially, the distance has its maximum value. Then, the light beam centroid moves towards the the pixel array center and θis close to zero. When the light centroid passes the center of the pixel array, the distance to it grows, and θincreases too. Finally, when the light beam is out of the field of view of the sensor, events are not generated. The azimuth, φ, was swept within a large region. As it can be seen in Fig. 11.(b), the y-coordinate was almost constant while the x-coordinate was changing during the experiment. Thus, the azimuth describes aarctan (x)function, as it is expected according Equation 2. C. Resolution The algorithm efficiency depends on the number of events available to compute the pixel spiking frequencies. There is a temporal variation of the pixel spiking frequencies (jitter) that depends on the circuit noise. The higher the number of events it is, the more precise the computation it is. In the analysis, let us assume that the number of events per pixel to compute is high enough to ignore the angles computation error due to the number of events. The precision of the algorithm computing the centroid will depend on the lid radius. The higher it is the number of illuminated pixels, the higher it is the algorithm precision. Let us denote the size of the illuminated windows as Nwindow ×Nwindow. Therefore, calculating the centroid, the spatial resolution of the algorithm is 1/(Nwindow ×Nwindow). Taking into account the sensor FOV, the number of pixels per row, M=128, and the algorithm spatial resolution, we can determine the sensor resolution: R=FOV M·Nwindow ·Nwindow (9) The number of illuminated pixels depends on radius of the lid pinhole. The lower the radius is, the lower the image bluring is. In our case, image bluring can be beneficial to achieve subpixel resolution. In the measurements of Fig. 10, Nwindow =6. Hence, if the FOV=146◦, the expected sensor resolution is R=0.03◦. By increasing the radius of the lid it is possible to improve the centroid algorithm determination performance. However, events rates will be higher and the computation time too. Thus, there is a trade-off between these parameters. In this implementation, we reward the fast operation and the reduced data flow. D. Accuracy In order to determine the sensor accuracy, we devised the test bench shown in Fig. 12. A 1266-03-000 Gated Cameo laser emitting at 650nm was illuminating the pinhole. Its light intensity was modulated with a power supply, keeping the total sensor event rate generated by the illuminated pixels constant and below 10keps (kilo events per second). Angles 7 (a) (b) Fig. 12. Experimental setup to measure the sensor’s accuracy. A laser was aligned with the center of sensor’s pinhole. Its intensity was modulated with a power supply to generate a controlled event rate by the illuminated pixels. Measurements were repeated several times to determine the sensor accuracy. 10010110 210 3104 Degrees (º) 72.5 72.6 72.7 72.8 72.9 Latitude (θ) Error (º) 0 0.1 0.2 0.3 0.4 θ (º) Error (º) Number of Events (N ) 10010110 210 3104 Degrees (º) 34 34.5 35 35.5 36 36.5 Azimuth (φ ) Error (º) 0 0.5 1 1.5 2 2.5 φ (º) Error (º) Ν =1 events Ν =1 events events Fig. 13. TFS operation. After reseting the sensor, a certain number of events is received, the sun position (θ, φ)is computed. We plot the computed angles and the measurement error for different number of incoming events. With only one event, it is possible to gauge the sun position keeping the error low. were computed several times at regular time intervals. The standard deviation of the measurements, was σθ= 0.0044◦ for the latitude (θ) and σφ= 0.0169◦for the azimuth (φ). Hence, the sensor accuracy for the latitude is 3σθ= 0.0132◦ and for the azimuth is 3σφ= 0.0507◦. Looking at Equations 1 and 2, it can be appreciated that azimuth angle is more sensitive to errors in the centroid computation than the latitude computation. Latitude depends on the distance to the sensor transversal axis, while the azimuth angle depends on the ratio between the centroid coordinates. E. TFS Operation Time-to-first-spike (TFS) operation [10], [18]–[20] is very efficient in terms of data processing when determining the sun position. In this operation mode, pixels are activated after releasing the RES signal in Fig. 5, that resets all the pixels of the sensor. Thereafter, events will arrive in order. The highest illuminated pixel will spike first and so on. The centroid position is always close to the position of the highest illuminated pixel. Hence, only receiving one single event, it is possible to gauge the sun position. By increasing the number of events, the measurement error will be reduced at the expense of receiving more data and increasing the computational time. Thus, the operator can trade off the measurement precision for data throughout. Fig. 13 illustrates the performance of the TFS operation. After reseting the sensor pixels, we recorded events during a time interval. We have plotted the computed angles and the error for different number of events (Nevents). We can notice that angles converge to a final value when the number of events is increased. The error was computed as the difference between the computed angle for each value of Nevents and the angle computed when Nevents = 10,000. With one single event, the measurement errors are 0.3◦and 2◦for the latitude and the azimuth respectively. If we increase the number of events to 10, errors are reduced to 0.155◦and 0.3◦respectively. After receiving 1000 events, the results are not improved significantly by increasing the number of events in the centroid computation. In such case the errors were 0.02◦ and 0.06◦for the latitude and the azimuth respectively. F. Frequency Response According to Equation 6, pixels spiking frequencies are proportional illumination. Sun sensors can operate under very intense sun radiation. For this reason, it is desirable to have same control over the event rate in such conditions. The image sensor was devised to operate under very high illumination conditions [13], [14]. The sensitivity to illumination can be adjusted by the operator tuning the voltage Vbot in Fig. 5. Frequency response versus illumination was measured. Pixel event sensitivity is S= 0.0762events/∆V·lux, with ∆V= VDD −Vbot. Pixel transistors have thicker gate oxide and the parameter ∆Vcan reach values up to 5V. The AER arbitration logic can tolerate pixel array event rates of 10Meps [16]. That is not a limitation in this application because only a small region of the sensor is illuminated. We did not reach that limit in any operation scenarios. G. Power Consumption Chip power consumption comes mainly from the pixel comparators shown in Fig. 5. Additionally there is a dynamic power consumption that depends on the event rate. Fig. 14 displays the chip current consumption for different event rates. To measure it, we illuminated the whole pixel array with different illumination values and we measured the event rates. Since we are using a pinhole lens and only a few pixels are illuminated simultaneously, the global event rates are far away of the maximum event rate that the arbitration system can cope. In practical operation scenarios, we never exceeded event rates of 100keps. In such situations, the total system power consumption is 52mW. In further designs, power consumption could be reduced by switching off the comparators during the TFS operation idle intervals. 8 TABLE II STATE-OF-THE-ART COMPARISON. Work This Work Ning et al. [3] Galileo ESA [4] Ortega et al. [1] Type Event Based Luminance Sensor APS Digital Sensor APS Digital Sensor Analog Sun Sensor Operation Principle TFS Frame-based Frame-based Photocurrent Ratio Technology AMS 0.18µm HV 0.18µm 1P4M UMC 0.18µm ND Power Supply 3.3/5V 3.3/1.8V 3.3/1.8V ND Chip Dimensions 4120µm×3315µm 5mm×5mm 11mm×11mm 6.8mm×13.8mm Number of Pixels 128×96 368×368 512×512 2 pairs of photodiodes Pixel Pitch 25µm×25µm 6.5µm×6.5µm 11µm×11µm NA FOV 146◦94◦128◦120◦ Power Consumption 52mW 42.73mW 520mW ND Latency <5ms@1klux or lower 10frames/s 10frames/s NA Dynamic Range >100dB 52dB ND NA Resolution 0.03◦0.004◦<0.005◦ND Accuracy 0.0132◦(θ), 0.05◦(φ) 0.01◦0.024◦0.15◦ Amount of data 1-100 Events 368 pixels (acquisition mode) +25×25pixels (tracking mode)=945pixels 1 frame (acquisition mode) + ROI (tracking mode) 4 analog voltages to be readout Events per Second (eps) 100102104106 Current Consumption (mA) 10.5 11 11.5 12 12.5 13 13.5 14 14.5 15 Fig. 14. Sensor current consumption versus event rate. V. BENCHMARCKING AND DISCUSSION AER luminance sensors find a natural application scenario on the design of sun sensors. They have inherent advantages over APS image sensors when the region of interest is composed by a few pixels and the rest of the pixels are not meaningful (dark). To readout the entire pixel matrix is inefficient in terms of speed and data processing. We have demonstrated that, with a reduced number of events, it is possible to resolve the sun position. Operating in TFS mode, with one single event, it is possible to gauge the sun position with an acceptable precision. In terns of speed, the proposed sensor can operate with latency responses in the order of milliseconds or lower. Regarding sensitivity and accuracy the reported results are alike the reported by previous authors. These parameters could be improved in further designs by reducing the pixel pitch. That is feasible because the proposed pixel [13], [14] has extra functionalities that are not mandatory for the design of a sun sensor. Table II compares the current sensor against the art. Contrasting the performance in terms of speed and data flow against the digital sensors [3], [4], the performance is better. Such sensors propose to readout the image in two steps (acquisition and tracking) to avoid reading out the entire pixel matrix several times. Still the amount of data required to detect the sun position is much higher. Moreover, Ning et al. [3] require dedicated WTA (Winner-Take-it-All) circuitry to implement the acquisition mode. In both sensors, the pixel control signals and the readout algorithms are more complex. Comparing to analog sensors, [1], the performance of the proposed sensor is better in terms of accuracy and resolution. The possibility of computing the azimuth angle is missed with analog sensors. Regarding dynamic range, the AER pixel chosen for this implementation outperforms classic APS sensors. Thus, as we have demonstrated, it is possible to compute the centroid with information of pixels that are not overexposed. All in all, the new sun sensor operates in a simpler and faster way than the previous reported digital sensors, that require elaborate design and readout procedures to avoid reading redundant black pixels. Our design performance could be improved in the future, by reducing the pixel pitch with a dedicated pixel, designed for this specific application. VI. CONCLUSIONS A new sun sensor designed with a spiking luminance sensor has been described. The sensor solves one paradigm associated to digital sun sensors: data coming from non illuminated pixels are readout and processed. Thus, the new approach is more ef- 9 ficient in terms of speed and output data flow. Furthermore, the sensor has higher dynamic range than APS sensors, leading to a more precise computation of the illuminated pixel centroids. As a further work, system performance can be improved in terms of accuracy and resolution by designing a dedicated pixel for sun sensors. REFERENCES [1] P. Ortega, G. Lopez-Rodriguez, J. Ricart, M. Dominguez, L. M. Castaner, J. M. Quero, C. L. Tarrida, J. Garcia, M. Reina, A. Gras, and M. Angulo, “A miniaturized two axis sun sensor for attitude control of nano-satellites,” IEEE Sensors Journal, vol. 10, no. 10, pp. 1623–1632, Oct 2010. [2] A. Ali and F. Tanveer, “Low-cost design and development of 2-axis digital sun sensor,” Journal of Space Technology, vol. 1, no. 1, pp. 1–5, Junel 2011. [3] N. Xie and A. J. P. Theuwissen, “A miniaturized micro-digital sun sensor by means of low-power low-noise CMOS imager,” IEEE Sensors Journal, vol. 14, no. 1, pp. 96–103, Jan 2014. [4] F. Boldrini, E. Monnini, D. Procopio, B. Alison, W. Ogiers, M. Innocent, A. Pritchard, and S. Airey, “Attitude sensors on a chip: Feasibility study and breadboarding activities,” in Proc. 32nd Annu. AAS Guid. Control Conf., February 2009, p. 11971216. [5] C. Brandli, R. Berner, M. Yang, S.-C. Liu, and T. Delbruck, “A 240×180 130dB 3µs latency global shutter spatio-temporal vision sensor,” Solid- State Circuits, IEEE Journal of, vol. 49, no. 10, pp. 2333–2341, Oct 2014. [6] J. A. Le˜ nero-Bardallo, T. Serrano-Gotarredona, and B. Linares-Barranco, “A five-decade dynamic-range ambient-light-independent calibrated signed-spatial-contrast AER retina with 0.1ms latency and optional time- to-first-spike mode,” Circuits and Systems I: Regular Papers, IEEE Transactions on, vol. 57, no. 10, pp. 2632–2643, Oct 2010. [7] C. Posch, D. Matolin, and R. Wohlgenannt, “A QVGA 143dB dynamic range asynchronous address-event PWM dynamic image sensor with lossless pixel-level video compression,” IEEE Journal of Solid State Circuits, vol. 46, no. 1, pp. 259–275, January 2010. [8] J. A. Le˜ nero-Bardallo, T. Serrano-Gotarredona, and B. Linares-Barranco, “An asynchronous event-based temporal contrast vision sensor with 3.6µs response time,” IEEE Journal of Solid-State Circuits, vol. 46, no. 6, pp. 1443–1455, June 2011. [9] E. Culurciello, R. Etienne-Cummings, and K. Boahen, “A biomorphic digital image sensor,” Solid-State Circuits, IEEE Journal of, vol. 38, no. 2, pp. 281–294, Feb 2003. [10] J. A. Le˜ nero-Bardallo, R. Carmona-Gal´ an, and A. Rodr´ ıguez-V´ azquez., “A bio-inspired vision sensor with dual operation and readout modes,” Sensors Journal, IEEE, vol. PP, no. 99, pp. 1–1, 2015. [11] J. A. Le˜ nero-Bardallo, D. Bryn, and P. H¨ afliger, “Bio-inspired asynchronous pixel event tricolor vision sensor,” Biomedical Circuits and Systems, IEEE Transactions on, vol. 8, no. 3, pp. 345–357, June 2014. [12] L. Farian, P. H¨ afliger, and J. A. Le˜ nero-Bardallo, “Miniaturized sun sensor with in-pixel processing for attitude determination of micro space probes,” in 2015 International Conference on Event-based Control, Communication, and Signal Processing (EBCCSP), June 2015, pp. 1–6. [13] J. A. Le˜ nero-Bardallo, R. Carmona-Gal´ an, and A. Rodr´ ıguez-V´ azquez, “A wide linear dynamic range image sensor based on asynchronous selfreset and tagging of saturation events,” IEEE Journal of Solid-State Circuits, vol. 1, no. 1, pp. 1–9, January 2017. [14] ——, “A high dynamic range linear vision sensor with event asynchronous and frame-based synchronous operation,” in Electronic Imaging, Image Sensors and Imaging Systems 2016, February 2016, p. 17. [15] K. A. Boahen, “Point-to-point connectivity between neuromorphic chips using address events,” IEEE Trans. Circuits Syst. II, vol. 47, no. 5, pp. 416–434, 2000. [16] P. H¨ afliger, “A spike based learning rule and its implementation in analog hardware,” Ph.D. dissertation, ETH Z¨ urich, Switzerland, 2000, http://www.ifi.uio.no/ hafliger. [17] “jAER open source project,” http://sourceforge.net/projects/jaer/. [18] P.-F. Ruedi, P. Heim, F. Kaess, E. Grenet, F. Heitger, P.-Y. Burgi, S. Gyger, and P. Nussbaum, “A 128 ×128 pixel 120dB dynamic-range vision-sensor chip for image contrast and orientation extraction,” Solid- State Circuits, IEEE Journal of, vol. 38, no. 12, pp. 2325–2333, Dec 2003. [19] M. Barbaro, P. Y. Burgi, A. Mortara, P. Nussbaum, and F. Heitger, “A 100×100 pixel silicon retina for gradient extraction with steering filter capabilities and temporal output coding,” IEEE Journal of Solid-State Circuits, vol. 37, no. 2, pp. 160–172, Feb 2002. [20] C. Shoushun and A. Bermak, “Arbitrated time-to-first spike CMOS image sensor with on-chip histogram equalization,” Very Large Scale Integration (VLSI) Systems, IEEE Transactions on, vol. 15, no. 3, pp. 346–357, March 2007.